@millihertz Huh! When I learned C++ back in the distant, veiled past... well, hm. I thought I recalled the books I learned from all calling it a strict superset, but they may have hedged and just called it a superset, which allows for some divergences. (Indeed, as recently as 2012 - and possibly more recently than that - O'Reilly was claiming that "C++ is a superset of C. All your C programs will work without any modification in this environment."
StackOverflow, on the other hand, has an entertaining counter-example: this is valid C but will definitely not compile under C++:
int class = 1;
int private = 2;
int public = 3;
int virtual = 4;