Compare order of types
Returns whether the type precedes the type identified by rhs in some implementation-specific order.
这是cplusplus.com 网站给的解释
bool before(const type_info& rhs) const;
Effects: Compares the current object with rhs.
Returns: true if *this precedes rhs in the implementation’s collation order.
这是ISO IEC14882 1998 C++标准给的解释
不过两种解释我都没看懂,到底这个函数是干啥用的
最终再stackover上找到了答案:就是在我们希望将type_info
类型的数据放入容器时,如何排序,谁前谁后,比如我们需要操作形如std::map<type_info*, value>
这种结构时,我们并不能直接比较type_info
指针的地址或者name()
,因为他们可能对应多个值(当我们使用动态链接库,即不同的实现时),before()
就派上了用场。
C++真是博大精深,感觉自己还只是了解了皮毛-_-!