c/c++经验总结大全——#、##含义经典使用方式

“#” “##”

c/c++经常使用# 、##来增加代码的整洁性、冗余性,能够避免过多使用继承来获取相同的API

使用方式及含义介绍

  1. ”#“即是运算符也是预处理
    作用:可以将普通文本字符被转换为一个可以被替代的语言符号

例如:

// 
#define LIB_CLASS(library, name) \
	virtual const char* libraryName() const { return #library; }\
	virtual const char* className() const { return #name; }
class CTestOne
{
	public:
	LIB_CLASS(Def,CTestOne)
	
	TestOne();
	
	~TestOne();
	
	protected:
	
	private:
};

class CTestTwo
{
	public:
	LIB_CLASS(Def,CTestTwo)
	
	CTestTwo();
	
	~CTestTwo();
	
	protected:
	
	private:
};

int main(int argc,char**argv)
{
	CTestOne one;
	const char* pName=one.className();  // 将会获取到CTestOne
	CTestTwotwo;
	const char* pTName=two.className();// 将会获取到CTestOne 
}
  1. ”##“和运算符”#“一样,可以用于宏函数的替换部分,即起到将前后两部分粘合起来
    例如:
#define X(n)	j##n
X(10)
j10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值