第1章 迈向现代C++

芝士wa
2024.3.30
资源链接


1.1 被启用的特性

  • 不再允许字符串字面值常量赋值给一个 char *。如果需要用字符串字面值常量赋值和初始化一个 char *,应该使用 const char * 或者 auto
    char *str = "hello world!";//将出现弃用警告
  • C++98异常说明、unexpected_handler,set_unexpected()等相关特性被弃用,应该使用noexcept
  • auto_ptr被弃用,应使用unique_ptr
  • register关键字被弃用,可以使用但不再具备任何实际含义
  • bool类型的++操作被弃用
  • 如果一个类有析构函数,为其生成拷贝构造函数和拷贝赋值运算符的特性被弃用了。
  • C 语言风格的类型转换被弃用(即在变量前使用 (convert_type)),应该使用 static_cast、reinterpret_cast、const_cast 来进行类型转换。
  • 特别地,在C++17 标准中弃用了一些可以使用的 C 标准库,例如

1.2 与C的兼容性

兼容性

C++不是C的一个超集!

posted @ 2024-03-30 16:24  芝士wa  阅读(28)  评论(0)    收藏  举报