Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
即使使用 -fno-rtti 编译,它似乎在 GCC 和 Clang 中也能std::any 正常工作。
std::any
在查看 libc++ 源代码时,我发现他们只是使用了一个简单的技巧:
他们获取在任何类型上模板化的变量的地址,这就是他们获得唯一ID的方式。
但是这个代码只有在没有打开 RTTI 时才有效。
这让我想知道。为什么他们甚至首先使用 RTTI?为什么不总是使用这个解决方案?我不知道为什么typeid会比简单的指针(指向每个类型实例化的静态变量)比较快。
typeid