许多早期的C++编译器实例化了所有成员函数,无论你是否曾经调用它们.
例如,考虑std::list具有sort成员函数的问题.使用当前正常运行的编译器,您可以实例化list不支持比较的类型.如果您尝试使用list::sort,它将失败,因为您不支持比较.只要你没有调用sort那个列表,它就可以了,因为list<T>::sort除非你调用它,否则不会被实例化.
然而,对于那些较旧的,运行不良的编译器,即使你从未使用它,尝试创建list<T>意味着list<T>::sort实例化.的存在list::sort意味着你需要实现<的T,只是为了创造一个list<T>,即使你从来没有实际使用sort该类型的名单上都没有.
| 归档时间: |
|
| 查看次数: |
134 次 |
| 最近记录: |