Zookeeper安装 datagridview android项目实战 jquery绑定change事件 hadoop源码 plsql卸载 docker启动命令 安装python python支持中文 java学习手册 java重写和重载 java集合框架 java抽象方法 java重载和重写的区别 java怎么输出数组 java删除 摩斯密码翻译 怎么设置迅雷为默认下载器 js倒计时 摩尔斯电码翻译器在线 深渊碎片 苹果手机添加邮箱 挑战程序设计竞赛 男网红头像 编程之家 3dmax2014下载 mac修改器 日文游戏乱码转换工具 手机下载微博客户端 包图小白体 战地1942修改器 mysql下载64位 pylint 失去焦点事件 ps设计字体 ps制作名片 ipad怎么清理内存 小米6拆机视频 x怎么关机 拼多多打单
当前位置: 首页 > 学习教程  > 编程语言

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

2020/11/24 9:13:03 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

“#” “##” c/c经常使用# 、##来增加代码的整洁性、冗余性,能够避免过多使用继承来获取相同的API 使用方式及含义介绍 ”#“即是运算符也是预处理 作用:可以将普通文本字符被转换为一个可以被替代的语言符号 例如: // #define LIB_CL…

“#” “##”

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

本文链接: http://www.dtmao.cc/news_show_400001.shtml

附件下载

上一篇:54

下一篇:白话版最大流

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?