The differences between ISO/ANSI C and C++ fall into two categories:
- C++ Comments
- Scope operator (::)
- Free store management using the operators new and delete
- Linkage specification for functions
- Reference types
- Default arguments for functions
- Inline functions
- Classes
- Anonymous unions
- Overloaded operators and functions
- Class templates and function templates
- Exception handling
Note: The IBM C and C++ Compilers also supports anonymous unions in C, but the implementation is slightly different from C++. For more information, see Anonymous Unions in C.