设为首页 加入收藏

TOP

8.7.3 使用有多个形参的类模板(2)
2013-10-07 16:08:58 来源: 作者: 【 】 浏览:56
Tags:8.7.3 使用 多个 模板

8.7.3  使用有多个形参的类模板(2)

当实例化模板时,需要小心处理包含比较运算符的表达式。看看下面的语句:

  1. CBox myBoxes[] = {CBox(1,2,3), CBox(2,3,4),CBox(4,5,6), CBox(5,7,8)};  
  2. CSamples<CBox, _countof(myBoxes) > 3   3 : 2 > mySamples(myBoxes,4);// Wrong!  
  3. const int x = 2y = 1;  
  4. CSamples<aType, x > y   10 : 20 > MyType();      // Wrong! 

该语句不能正确编译,因为表达式中_countof(myBoxes)前面的>解释为右尖括号。应该将这条语句写成:

  1. CSamples<CBox, (_countof(myBoxes) > 3   3 : 2) > mySamples(myBoxes,4); 

括号确保先计算第二个模板实参的表达式,且不会与尖括号混淆。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇8.7.3 使用有多个形参的类模板(1.. 下一篇8.7.4 函数对象模板

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·python数据分析岗的 (2025-12-25 10:02:21)
·python做数据分析需 (2025-12-25 10:02:19)
·成为一个优秀的pytho (2025-12-25 10:02:16)
·Java后端面试实习自 (2025-12-25 09:24:21)
·Java LTS版本有哪些 (2025-12-25 09:24:18)