NB that I have only a little experience with C++ and none whatsoever with kernel and/or OS development.
> Once you've striped all those features from C++, what's left to differentiate it from C?
Not much, I suspect. You can declare variables anywhere instead of just the beginning of a block, you can use references, and C++ handles const-ness much better than C. Function and operator overloading is a double-edged sword, but it is possible to use them in a way that makes code easier to write, read, and maintain. C++ being C++, there are surely a bunch of things I miss.
But yes, without all the advanced features the gap between C and C++ shrinks significantly,
> Once you've striped all those features from C++, what's left to differentiate it from C?
Not much, I suspect. You can declare variables anywhere instead of just the beginning of a block, you can use references, and C++ handles const-ness much better than C. Function and operator overloading is a double-edged sword, but it is possible to use them in a way that makes code easier to write, read, and maintain. C++ being C++, there are surely a bunch of things I miss.
But yes, without all the advanced features the gap between C and C++ shrinks significantly,