Whoa, let's not say things we can't take back ;)
This new stuff actually comes from boost (like most new stuff in C++)
Is this not a relatively direct import from boost:
http://www.boost.org/doc/libs/1_64_0/doc/html/variant.html
I remember that being relatively painful to use 10 years ago.The std::variant has a bit nicer API compared to boost with e.g holds_alternative. I expect I would create a make_visitor wrapper myself or use an open source one if needed, but it wasn't needed.
C++ is a massive improvement over straight C in pretty much every practical way. And best part is if you don't want to use awkward, heavyweight abstractions like std::variant then you can just not use them and be no worse off for it.
C++ definitely has some improvements over C, but it definitely does not have a "massive improvement over straight C in pretty much every practical way". It's pretty bad that you have to avoid many parts of the language.
I've also noticed from various projects that C projects tend to have less code to grok than C++ projects while achieving the same thing. Who would've thought.
Thank you for the condescension. But if that was your point, you could have written it more clearly.