虚幻c++ 拼接宏指令与TEXT宏

虚幻c++ 拼接宏指令与TEXT宏

这是拼接宏函数!

理解一下!

#include <queue>
#include <string>
#include <iostream>
#include <list>

using namespace std;
/*
看这里,我们是定义了两个数,一个是X,一个是T

相当于创建函数一样!只不过是写在第一行里面!

int Getnum(){
	return num;
}

换过来就是,把X当做num,把T当做类型,##是拼接符号

T Get##X(){
	return X;
}

写在一行就是T Get##X(){return X;}  //注意别漏掉逗号了



*/
#define MAKEPRO(X,T) T Get##X(){return X;}

class A {

private:
	int num = 1777;

public:
	MAKEPRO(num, int);

};



int main() {
	
	A a;
	cout << a.Getnum() << endl;

	system("pause");

	return 0;
}

多重定义!

可以同时设置get,set的函数!只需要设置一次就行了!

#include <queue>
#include <string>
#include <iostream>
#include <list>

using namespace std;
/*
看这里,我们是定义了两个数,一个是X,一个是T

相当于创建函数一样!只不过是写在第一行里面!

int Getnum(){
	return num;
}

换过来就是,把X当做num,把T当做类型,##是拼接符号

T Get##X(){
	return X;
}

写在一行就是T Get##X(){return X;}  //注意别漏掉逗号了



*/
#define MAKEPRO(X,T) T Get##X(){return X;}\
void Set##X(T a) { X=a;}

class A {

private:
	int num = 1777;

public:
	MAKEPRO(num, int);

};



int main() {
	
	A a;
	
	a.Setnum(50);

	cout << a.Getnum() << endl;

	system("pause");

	return 0;
}

 

 

所以说呢!

其实宏拼接可以做很多东西!

其实宏定义就是用来替换的!他只能用来替换,某种程度来说,它会导致代码累赘!

文本替换!

别用函数的思维来套它就行了!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值