gpt4 book ai didi

c++ - 为什么 auto 的旧用法 (c++03) 在 C++11 下无法编译?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:53:24 27 4
gpt4 key购买 nike

我知道 auto 之前有一些用法,因为它是变量的默认值(与静态相反)- 参见 question然而,考虑有效的 C++03 代码,可能为了不言自明,使用了这个关键字:

auto int foo2 = 8;

它在C++03下编译,在C++11下不编译。有什么理由不向后兼容 C++03 吗?标准委员会认为未使用此关键字的意见来源是什么?是否有关键字使用情况的统计数据?

顺便说一句,我用 gcc 进行了测试 - 也许这是一个编译器错误?

最佳答案

众所周知,这会破坏兼容性并在标准的附录 C 2.3 条款 7 中提到。考虑到汽车是多么无用,而且修理起来真的很容易,因此认为成本是可以接受的。

至于关键字统计:委员会中有一些拥有庞大代码库的公司,他们可能知道这是否可以接受,但我无法挖掘出任何完整的统计数据。

我做了一些标准考古学,最古老的讨论auto的论文似乎是N1478,它指的是第一次讨论auto的反射器消息(所有后来的论文都不谈论打破兼容性或推理)。

关于c++ - 为什么 auto 的旧用法 (c++03) 在 C++11 下无法编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12093717/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com