几篇 SO 帖子都说隐式生命周期对象创建已在 C++20 中引入,事实上,我在旧版 C++ 的草稿中找不到提及它。
然而,cppreference 并不表示对语言版本的限制,除了 https://en.cppreference.com/w/cpp/named_req/ImplicitLifetimeType 底部的这个神秘的(对我来说)DR:
缺陷报告
以下改变行为的缺陷报告追溯应用于之前发布的 C++ 标准。
博士 | 适用于 | 发布的行为 | 正确的行为 |
---|---|---|---|
CWG 2489 | C++20 | 开始 char 数组生命周期的操作会隐式创建对象 | 没有 |
那么隐式生命周期对象创建在 C++20 之前适用吗?
DR 来自标准的 C++23 版本,因此它被应用回此功能开始的 C++20。