You can write C++ code without the stdlibc++, it's not that hard - just turn off exceptions, do not use static initializers and off you go.
It was even possible to use C++ in the Linux kernel some time ago. Unfortunately, after about 2.6.16 a lot of C++ keywords ('template', 'class', etc.) started to appear in the kernel structs so porting became difficult.
I'm using C++ in Microsoft Windows drivers (via http://code.google.com/p/ontl/ ). It's actually quite nice to use Boost.ScopeExit instead of 'goto error_exit'. And exceptions! One can actually use exceptions in Windows, even in the kernel mode. Oh and real templated containers, of course.
And advantages of C++ are really visible. Good C++ code is about 30%-50% of corresponding C code in LOCs, and much easier to read.