gpt4 book ai didi

c++ - 为什么 type_info::name() 未指定?

转载 作者:可可西里 更新时间:2023-11-01 17:52:39 26 4
gpt4 key购买 nike

我完全知道 std::type_info::name() 的返回值是实现定义的。

来自 C++ 标准(ISO/IEC 14882:2003 §18.5.1.7):

Returns: an implementation-defined NTBS.

我的问题是:为什么?如果标准规定了返回值应该是什么,这个成员函数不是更有用吗?

最佳答案

基本上,如果一个实现决定他们不能或不想支持 RTTI,他们可以return "";。如果标准强制它返回某些东西,他们可能会扼杀任何为 RTTI 资源不存在或想要禁用的环境(例如微芯片)提供兼容编译器的能力。

别忘了我们不想在任何编译器上强制使用 ABI/名称修改方案。

这遵循了 C++ 哲学“你不需要为你不需要的东西付费”。

关于c++ - 为什么 type_info::name() 未指定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3564167/

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