I use C++ with C programming for two reasons:
vector
and string
to get the array memory management away from me
- strict type checking and casts to warn and/or catch allthe nuisances I would miss otherwise.
So it is C really borrowing a few c++ but using the c++ compiler as much as I can. As someone else says in the answers, I find now I am actually picking up more C++ this way and where C would be too involving, I use C++. Monitor/Lock using RAII is one of these I've used recently when dealing with multi-threaded programs and another similar construct to open/close files.