For C the pointers feature never fail to amaze me by their power and destruction if not used properly
For C++, STL (aka Standard Template Library) is what I feel can bring C++ to mainstream success with other programming languages but their templatized code definition syntax still need some polishing to make it more comfortable for other programmers
I second pointers. Direct access to my data (and functions) on the level of the individual byte is so useful, letting me run around my data freely and trusting me with it.
Hmmm... you may want to revise the above sentence once you got bitten real bad one fine day :P
That has happened many times and it will happen again; every time it would not have happened if I had been paying attention and designing the programme properly. It's a risk that I find well worth the benefits. Few things annoy me more in other languages than not being able to just reach out and grab my data.
I like how i can access data with your program, such as reading BMPs, listening to WAVs and OGGs, making whatever you want, including games, apps with a GUI... Having learnt C/C++ means OWNING A PC. To me.
For me, it's the ability to control user-allocated resources, exceptions, functions, and its ability manipulate individual bits with bit-fields and bit-flags.
I know this sounds silly but I like functions even though functions exist in other languages. I just like the idea that I can enter a variable and let the function do everything for me and then spit out a new value for the variable for me to use.