虚幻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;
}

 

 

所以说呢!

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

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

文本替换!

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

猜你喜欢

转载自blog.csdn.net/m0_46449592/article/details/128599951
今日推荐