宏与vector去重
2018-11-27 11:23 X光之辉 阅读(283) 评论(0) 收藏 举报一。VS中添加预处理宏的方法:
除了在.c及.h中添加宏定义之外,还可以采用如下方法添加宏定义:
1、若只需要定义一个宏(如#define DEBUG),可以右键点击工程-->属性-->c/c++-->预处理器-->预处理器定义,点击下拉框中的编辑,输入想要定义的宏;
2、如果还需要定义宏的内容(如#define inline __inline),可以右键点击工程-->属性-->c/c++-->命令行,在其它选项中输入如下内容: /D"inline"=__inline 。
二。带参数的宏定义:
#define max(A,B) ((A) > (B) ? (A) : (B))
被替换后的语句: x=max(p+q, r+s);
被替换后的形式 : x=((p+q) > (r+s) ? (p+q) : (r+s));
如果对各种类型的参数的处理是一致的,则可以将同一个宏定义应用于任何数据类型,则无需针对不同的数据类型需要定义不同的max函数。 但是max存在一定的缺陷。作为参数的表达式需要计算两次,如果表达式存在副作用(比如含自增运算符或输入/输出),则会出现不正确的情况。例如:
max(i++, j++) //错误
。。。
--------------------- 引用自https://blog.csdn.net/GUI1259802368/article/details/79466818
三:使用宏定义的函数:
//注释了并不是不能用而是功能用不到这段代码
浙公网安备 33010602011771号