4 ms·
It is quite annoying, especially since C++ was not a superset of C for a long time. Those are two different languages that just happen to have same roots.
by takeda 13y ago
It is quite annoying, especially since C++ was not a superset of C for a long time.
Those are two different languages that just happen to have same roots.
- humanrebar 13y agoTechnically, you're right, but practically you don't have to give up much to write C99 that is also valid C++11.
- 0x09 13y agoFrom my own experiences writing either language I have to disagree. C++ may be much (much much) more featureful than C, but if you skip constructs and behavior that aren't strictly a subset of the two you are still missing a lot of modern C, and it's exaggerated by C11. That's not just the obvious high level features like compound literals, designated initializers, VLAs, or anonymous structures/unions. There are a lot of creeping nits about what is defined and undefined in either language, a famous(ly misunderstood) example being type-punning via union, which is allowed in C but undefined behavior in C++. Except for a few things C++ has imported from C like stdint and vararg macros the truth of your statement depends strongly on how far you personally tend to stray beyond C89 in either direction.