C and C++ are two very interlaced, but still distinct languages. Believe it or not, there were already tiny divergences even at the very birth of C++. Yet many developers fall into the trap of thinking of C++ as a perfect superset over C, what then leads to unpleasant surprise when something differs. Thus below I list few online resources where one may learn a bit on the topic.
- C xor C++ Programming (WG14: N3065; WG21: P2735R0)
- C++ is not a superset of C
- Incompatibilities Between ISO C and ISO C++
- Compatibility of C and C++ - Wikipedia
- How C is not a subset of C++
- Where is C not a subset of C++? - Stack Overflow
- Does C++ contain the entire C language? - Stack Overflow
- N4860 (draft of C++20); Annex C (Compatibility), §C.5 (C++ and ISO C)
- C++ is NOT a superset of C: tentative definitions, implicit conversions, implicit declarations &more
- The C++ Programming Language, Special Edition; Appendix B - Compatibility
- mono/mono#10085 - C/C++ incompatibilities