第24章 已弃用和移除的特性

# 第24章 已弃用和移除的特性

C++20中有一些特性已被弃用或最终被移除。

被移除的特性,编译器实现可能仍会提供,但你不能依赖这一点。如果你使用了已弃用的特性,编译器实现可能会发出警告,也可能不会。

# 24.1 已弃用和移除的核心语言特性

  • 隐式捕获*this已被弃用。
  • 聚合体(aggregate)不能再有任何用户声明(但非用户提供)的构造函数。

# 24.2 已弃用和移除的库特性

# 24.2.1 已弃用的库特性

自C++20起,以下库特性已被弃用,不应再使用:

  • 类型特性is_pod<>。应使用is_trivial<>或类似的类型特性替代它。
  • 对普通共享指针的原子操作现已弃用。应使用原子共享指针替代。

# 24.2.2 已移除的库特性

  • 对于字符串,成员函数reserve()不能再不带参数调用,且它不再缩减容量。
  • 不能再将UTF - 8字符串写入标准输出流。

# 24.3 补充说明

弃用is_pod<>由延斯·毛雷尔(Jens Maurer)在http://wg21.link/p0767r1 (opens new window)中提议并被接受。

上次更新: 2025/03/20, 19:44:38

社区交流

讨论与留言

前往 GitHub Issues →

本留言区仅对应当前文章,欢迎补充观点、提出问题或帮助修正文中疏漏。 留言由 GitHub/Gitalk 提供,需要使用 GitHub 登录。

最近更新
第 1 课:专栏导论与安全边界
07-01
第 3 课:安装编译与调试环境
07-01
第 4 课:第三方库下载、编译与依赖管理
07-01
更多文章>