《c++ templates》:
只有那些被调用的成员函数,才会产生这些函数的实例化代码。对于类模板,成员函数只有在被使用的时候才会被实例化。显然,这样可以节省空间和时间;另一个好处是:对于那些“未能提供所有成员函数中所有操作的”类型,你也可以使用该类型来实例化类模板,只要对那些“未能提供某些操作的”成员函数,模板内部不使用就可以了。例如,某些类模板中的成员函数会使用operator<来排序元素;如果不调用这些“使用operator<的”成员函数,那么对于没有定义operator<的类型,也可以被用来实例化该类模板。
本文深入探讨了C++模板中成员函数的实例化机制,解释了只有被调用的成员函数才会产生实例化代码的概念,并阐述了如何利用此特性在类型未提供所有成员函数中某些操作的情况下,仍然能通过模板实现功能。
668

被折叠的 条评论
为什么被折叠?



