andersch.dev

<2024-07-03 Wed>

C vs. C++

C++ is a superset of C89. Beginning with C99, the two languages began to diverge and became more and more incompatible with each other (although C++ implements most features of C99).

C Features

Top C features missing from C++

  • Better initialization

C++ Features

Top C++ features missing from C

  • Lambdas (just to implement defer)
  • Compile-Time String Hashes
  • Default parameters
  • References (useful in Macros)
  • Methods (for chaining: thing.do().make().finish())
  • Struct Namespaces