C++标准库头可以以未指定的方式彼此包含,因此程序员通常不应该依赖于包括另一个的一个头.但是,在少数情况下,保证标头包含另一个标头,或者使某些功能可用,否则需要包含另一个标头.这些案件是什么?
所述typeid表示C++ RTTI操作者还为C++关键字.它返回一个std::type_info保存(动态)类型特定信息的对象.
根据我从各种来源的理解,一个必须包括<typeinfo>在使用时typeid,否则该程序是不正确的.事实上,如果我不包含前面提到的标题,我的gcc5.2编译器甚至不编译程序.我不明白为什么要使用C++ 关键字强制执行标头包含.我理解,只要我们在该标头中使用声明/定义的对象,但typeid不是类类型,就强制要求标头.那么包含标题的执行背后的原因是什么<typeinfo>?