找回密码
 立即注册
首页 业界区 业界 模板的优化

模板的优化

寥唏 2026-2-5 17:10:03
嵌套时(比如printVector)中的">>"的优化

在使用vector时,本意是向模板中传入一个vector类型的参数,但是编译器错误的将">>"识别为右移运算符,而不是模板参数表的结束。之前的解决方案是在">>"中间添加空格"> >"。
C++11优化了这一问题,使得不添加空格也可以正确的编译。
[code]#include #include using namespace std;templateclass Base {public:        void printVector(T& t) {                auto it = t.begin();                for (; it != t.end(); it++) {                        cout )解析成模板参数结束符,方便我们编写模板相关的代码。</p>上面的这段代码,在支持C++11的编译器中编译是没有任何问题的。
方法的默认模板参数

在c++11之前,类模板可以有默认的模板参数;但是方法模板不支持有默认的模板参数。
在C++11中添加了对函数模板默认参数的支持。
[code]#include #include using namespace std;template  //c++11之前就 支持  类模板 默认的模板参数,还定义了非类型参数t的默认值为520class Test {public:        void print() {                cout

相关推荐

寥唏 楼主
2026-2-7 08:50:10

举报

2026-2-11 05:27:58

举报

您需要登录后才可以回帖 登录 | 立即注册