I can imagine how alien it must look to you.
I've been using C++ non-stop for the last 20 years or so, and sometimes I still choke on those error messages.
Clang is probably the best at the moment pinpointing where the problems probably are. Visual Studio just spits out a huge wall of text. You then need to dig and figure out the problem. haha
I haven't touched GCC for a few years, so no idea on the side.
Lots of those new things you see in the language now have been around for ages as "experimental", but the last few years 5 years or so, there has been an amazing push adding those goodies to the standard.
It's a monster of a language, and very intimidating. But I guess it comes with C++'s mantra of "zero overhead". You only pay for what you use. And then the backwards compatibility thing. :/
If you focus on modern stuff, it's really a more concise language and refreshing compared to a decade ago. But in practice you still need to interact and understand older code
For example, I have a fairly advanced low level knowledge ( see my pet project https://bitbucket.org/ruifig/g4devkit
), but nowadays I don't think I have a single naked new/delete in my code. As long as you know what you are doing, there is no excuse not to use smart pointers.
I recently started writing some long articles for my blog that might help you catch up. Multi thread goodies and all, like this one: http://www.crazygaze.com/blog/2016/03/17/how-strands-work-and-why-you-should-use-them/
I'll be covering a lot more things. Some based on boost's ideas, other of my own.