sha*_*oth 5 c++ rtti typeid typeinfo visual-c++
如果我调用typeid并检索返回的地址type_info:
const type_info* info = &( typeid( Something ) );
Run Code Online (Sandbox Code Playgroud)
返回的对象的生命周期是什么typeid,指向该对象的指针有效期是多久?
CB *_*ley 10
但是实现实现它们,typeid表达式的结果是左值,并且这些左值引用的对象的生命周期必须持续到程序结束.
来自ISO/IEC 14882:2003 5.2.8 [expr.typeid]:
typeid表达式的结果是左值[...]左值引用的对象的生命周期延伸到程序的末尾.
从C++ 2003标准的5.2.8.1开始:
typeid表达式的结果是静态类型const std :: type_info(18.5.1)和动态类型const std :: type_info或const name的左值,其中name是从std :: type_info派生的实现定义类,它保留了18.5.1.61中描述的行为) 左值引用的对象的生命周期延伸到程序的末尾.是否在程序末尾为type_info对象调用析构函数是未指定的.