char *。如果需要用字符串字面值常量赋值和初始化一个 char *,应该使用 const char * 或者 auto。unexpected_handler、set_unexpected() 等相关特性被弃用,应该使用 noexcept 。auto_ptr 被弃用,应使用 unique_ptr 。register 关键字被弃用,可以使用但不再具备任何实际含义。(convert_type)),应该使用 static_cast、reinterpret_cast、const_cast 来进行类型转换。<ccomplex>、<cstdalign>、<cstdbool> 与 <ctgmath> 等在编写 C++ 时,也应该尽可能的避免使用诸如 void* 之类的程序风格。而在不得不使用 C 时(链接到C库/C目标文件),应该注意使用 extern "C" 这种特性,将 C 语言的代码与 C++代码进行分离编译,再统一链接。
nullptr:替代 NULL。传统 C++ 会把 NULL、0视为同一种东西,这取决于编译器如何定义 NULL,有些编译器会将 NULL 定义为 ((void*)0),有些则会直接将其定义为 0 。
nullptr 的类型为 nullptr_t,能够隐式的转换为任何指针或成员指针的类型,也能和他们进行相等或者不等的比较。
constexpr:C++11 提供了 constexpr 让用户显式的声明函数或对象构造函数在编译期会成为常量表达式。从 C++14 开始,constexpr 函数可以在内部使用局部变量、循环和分支等简单语句。