Andrei Alexandrescu在Modern C++ Design中写道:
返回的对象
typeid
具有静态存储,因此您不必担心生命周期问题。
安德烈继续说:
该标准不保证每次调用
typeid(int)
都会返回对同一type_info
对象的引用。
尽管标准不保证这一点,但在 GCC 和 Visual Studio 等常见编译器中是如何实现的?
假设typeid
不泄漏(并且每次调用都返回一个新实例),它是每个应用程序、每个翻译单元、每个 dll/so 的一个“表”,还是完全不同的东西?
有时间&typeid(T) != &typeid(T)
吗?
我主要对 Windows 的编译器感兴趣,但也感谢 Linux 和其他平台的任何信息。