C++中的宏,是将一个标识符定义为一个字符串。在源程序中,该标识符会被指定的字符串来代替。
格式:#define <宏名> (参数表) <宏体>
#define SG_M(TYPE, M)\ public:\ void set_##M( const TYPE& in_##M ) {\ M##_ = in_##M;\ }\ TYPE M() {\ return M##_;\ }\ private:\ TYPE M##_;
1. 宏仅进行简单的字符串替换,不会进行任何运算。
2. ##是一个关键字,表示连接宏参数。
使用:
SG_M (double, price)
后面不要加分号,预处理后相当于
public: void set_price( const double& in_price ) { price_ = in_price; } double price() { return price_; } private: double price_;
原文链接: https://www.cnblogs.com/whuqin/archive/2012/09/06/4982035.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/61997
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!