class Test
{
public:
template<class T>
Test& operator,(T t)
{
//具体操作
return *this;
}
}
Test test;
#define TEST(...) test,__VA_ARGS__

按上述操作,因为__VA_ARGS__宏每次展开后为逗号参数列表。如

TEST(1,2,3)展开为test,1,2,3。

这时test因为重载了逗号操作符,每次逗号操作后又返回test的引用,就可以依次处理1,2,3这三个入参了。

__VA_ARGS__与逗号操作符的巧妙结合的更多相关文章

  1. switch_case,&&,||,条件操作符和逗号操作符,循环语句

    一.switch-case switch-case语句主要用在多分支条件的环境中,在这种环境中使用if语句会存在烦琐且效率不高的弊端. switch(expression) { case const ...

  2. JavaScript逗号操作符

    今天在CSDN看到一篇文章http://www.csdn.net/article/2014-01-06/2818025-Useful-JavaScript-Tips-Best-Practices?re ...

  3. JavaScript 逗号操作符

    让我们从一个有趣的微博开始吧. 末尾的c是优先级最低的逗号操作符.逗号操作符是操作符优先级的最后一行,并且很少有文章记录,它隐藏着它的锋芒.它可能不是JavaScript强势操作符,但是我喜欢它.它简 ...

  4. ISO/IEC 9899:2011 条款6.5.17——逗号操作符

    6.5.17 逗号操作符 语法 1.expression: assignment-expression expression    ,    assignment-expression 语义 2.一个 ...

  5. C++中逗号操作符重载的分析

    1,关注逗号操作符重载后带来的变化: 2,逗号操作符: 1,逗号操作符(,)可以构成都好表达式:exp1, exp2, exp3, ..., expN 1,逗号表达式用于将多个表达式连接为一个表达式: ...

  6. C++语法小记---重载逗号操作符

    重载逗号操作符 逗号操作符算法:从左到右依次计算每一个表达式的值,整个逗号表达式的值等于最右边表达式的值,前面n-1个表达式可以没有返回值 重载逗号操作符: 参数必须有一个class成员 重载函数返回 ...

  7. js 逗号操作符

    有一道js面试题,题目是这样的:下列代码的执行结果是什么,为什么? var i, j, k; for (i=0, j=0; i<10, j<6; i++, j++) { k = i+j; ...

  8. c++ 逗号操作符重载

    Overload Operator Comma 首先看看think in c++ 给出的一个重载的样例 #include <iostream> using namespace std; c ...

  9. 20.C++- "&&","||"逻辑重载操作符的缺陷、","逗号重载操作符的分析

    "&&","||"逻辑重载操作符的缺陷 大家,都知道"&&","||"拥有"短 ...

随机推荐

  1. iOS开发中@selector的理解

    @selector 是什么? 1一种类型 SEL2代表你要发送的消息(方法), 跟字符串有点像, 也可以互转.: NSSelectorFromString() / NSSelectorFromStri ...

  2. 转一篇:文档笔记之Django QuerySet

    这个放着,说不定以后作一些更深入的查询时,用得着的. http://www.rapospectre.com/blog/7/ 今天刚刚答完辩体完检就跑来更新博客了!!! 先补上第一篇: 一般情况下,我们 ...

  3. 2013 Multi-University Training Contest 1 3-idiots

    解题报告: 记录 A_i 为长度为 i 的树枝的数量,并让 A 对它本身做 FFT,得到任意选两个树枝能得到的各个和的数量.枚举第三边, 计算出所有两边之和大于第三条边的方案数,并把前两条边包含最长边 ...

  4. [Browsable(false)]

    1.c#方法上面的[Browsable(false)]是干吗用的? 答案:标明此对象不可被浏览,这样它就不会出现在设计器的属性窗口里了 看如下代码: /// <include file='Asp ...

  5. [SharePoint 2013 入门教程 3 ] 排版第一个网站集,网站

    我们创建了一个TEST网站集,如果你觉得太丑,怎么办,我们一起来给它整整容吧. 点击页面--> 编辑页面 我们现在就可以在页面上添加各种部件,进行布局排版.

  6. dubbo/dubbox部署资料收集

    dubbo/dubbox部署资料收集 最近由于项目需要要部署bubbox,dubbo,在找资料过程中用的的一些网址如下,后来由于取消没有实际应用,以备今后再用 http://dubbo.io/Admi ...

  7. 开发版本控制git

    git init 在git命令行中依次输入 touch readme.txt并回车, git add . 点代表所有, git commit -m "init first"并回车, ...

  8. 机器学习 —— 概率图模型(CPD)

    CPD是conditional probability distribution的缩写,翻译成中文叫做 条件概率分布.在概率图中,条件概率分布是一个非常重要的概念.因为概率图研究的是随机变量之间的练习 ...

  9. QTP鼠标点击和浏览器事件的动态切换

    今天在群里有人问到一个问题,我觉得应该会有很多人会碰到,今天根据自己的思路把这个解决方案整理出来,供自己和大家参考 需求描述: 当输入一个身份证号码的时候,这个号码所对应的数据会被加载到所属的省和市的 ...

  10. python获取外网地址

    # coding=gbk import sys,urllib.request,re url = "http://www.3322.org/dyndns/getip" #网页地址 m ...