I think C++ is a great language. You can do so many neat memory management tricks with C++ than with Java or .NET. It is also a true work horse if you get your code right. For me, understanding how memory layout and memory management works in C++, helped a lot learning C++ language. I think it is also quite cool that when you work with C++ you'll get to know how memory management works in OS and you surely get know difference between stack and heap memory and what are pros and cons per each.
When you learn all these, moving then to some more higher level language is quite easy. It is good to know, that even if you are using Java or .NET same C/C++ things happens under the hood. I think it is kind of language what gives to you quite a lot of. It takes time to learn, but I think it's totally worth of.
Altough I hate header file comments when working with std-library. It's so cryptic, I'll have to say that. Fortunately in cplusplus.com std-library is documented quite well.
This is not perhaps best example, but I found it really cool that how easy it is to corrupt stack with C standard methods and run method from the stack with buffer overflow attack. That kind of things just open your eyes. It was a practice what we did in school.