预处理命令中的#和##

在c/c++的程序设计中,有的时候不免要实现某些对象转换出相应名字字符串或两对象名直接相连的情况,这时候可采用宏定义中加入#和##分别实现相应功能。下面是摘抄的一段解释。

 

The # and ## preprocessor operators are used with the #define preprocessor directive.

  • Using # causes the first argument after the # to be returned as a string in quotes.
  • Using ## concatenates what's before the ## with what's after it.

For example, the command

     #define to_string( s ) # s

will make the compiler turn this command

     cout << to_string( Hello World! ) << endl;

into

     cout << "Hello World!" << endl;

Here is an example of the ## command:

     #define concatenate( a, b ) a ## b
...
int xy = 10;
...

This code will make the compiler turn

     cout << concatenate( x, y ) << endl;

into

     cout << xy << endl;

which will, of course, display '10' to standard output.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435774.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转】DICOM通讯(ACSE->DIMSE->Worklist)

转自&#xff1a;DICOM通讯&#xff08;ACSE-&#xff1e;DIMSE-&#xff1e;Worklist&#xff09; - 知乎 1 DICOM通讯概要介绍 DICOM通讯和TCP IP的设计原理别无二致。从用户数据到网络上传输数据的过程中&#xff0c;要经历多层协议处理&#xff0c;每经一层&#xff0c;就…

DipperRiver.Net通信协议设计

说明名称[长度,单位&#xff1a;字节]包结构Header[10]&#xff1a;包头Body[21?]&#xff1a;包体Header[10]协议头[1]:1字节长度,如0x07协议版本[1]&#xff1a;1字节长度,如0x01Body长度[4]:4字节长度的数字&#xff0c;即Body长度最大支持4G保留[4]&#xff1a;Body[25?]…

winCE改变字库方法

更新系统字库&#xff1a;例如要在 WinCE5.0 加入微软雅黑字体的支持 。 第一步&#xff1a;增加如下注册表 [HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/FontPath] "FontPath""// Windows " ; 字库文件所在目录 [HKEY_LOCAL_MACHINE/SYSTEM/GDI] "…

程序员九重镜界,很老的今天刚刚翻出来

今天下午翻电脑找到这个--程序员九重镜界。很旧的&#xff0c;呵呵。第一重&#xff1a; 在哪本电脑杂志上看见软件工程师这个职业介绍&#xff0c;或者走在大街上看见某某软件培训机构鼓吹培训完就能年薪10万的广告&#xff0c;有些羡慕那些编程序的&#xff0c;自己有些蠢蠢欲…

【转】dicom通讯的工作方式及dicom标准简介!!

转自&#xff1a;dicom通讯的工作方式及dicom标准简介 - assassinx - 博客园 本文主要讲述dicom标准及dicom通讯的工作方式。dicom全称医学数字图像与通讯 其实嘛就两个方面 那就是“存储”跟“通讯”。 文件数据组织方式 网络数据组织方式。文件数据组织方式就是解析静态的di…

XIP与HIVE

我们的Image主要由两部分组成&#xff1a;XIPKERNEL.bin和NK.bin,XIPKERNEL.bin中的东西就是那些WinCE中比较核心的又需要经常加载的一些程序和DLL文件&#xff0c;这些文件会被Boot Loader在刚启动的时候拷贝到RAM中去&#xff0c;这样就可以在RAM中XIP&#xff08;Excute in …

[Silverlight]16进制颜色转ARGB及Color转Int32

16进制色字符串转ARGB做Web的都喜欢用16进制字符串标识颜色&#xff0c;比如“#F5F5F5”这类的&#xff0c;自然这个到了Silverlight/WPF中就要用ARGB表示&#xff1a;“#FFF5F5F5”&#xff08;前两位标识Alpha&#xff0c;即透明度&#xff09;。这在XAML中没有任何问题&…

【转】DICOM通信 - PDU数据包(1)

转自&#xff1a;DICOM通信 - PDU数据包(1)_翼遥君的博客-CSDN博客 DICOM上层协议为DIMSE提供透明的网络数据传输服务&#xff0c;即以上层协议规定的协议数据单元传送接收DIMSE的命令流与数据流。上层协议中制定了上层服务以及协议数据单元(Protocol Data Unit&#xff0c;PD…

windows mobile 编译(生成镜像)提速

windows mobile 编译镜像总是让人难以忍受的耗时&#xff0c;当然我们不能每次修改一点东西就build All一次。 下面是自己工作中积累的【不同情况下使用的编译命令】来加速生成镜像的过程&#xff0c;不排除有错的可能&#xff0c;欢迎指正。 对于修改&#xff0c;一般可以分…

ASP.NET MVC + ADO.NET EF 项目实战(二):设计过程与设计工具

工欲善其事&#xff0c;必先利其器。好的工具能够成倍提升工作效率。ASP.NET MVC和ADO.NET EF也是因为其工具出色而受到欢迎。例如&#xff1a; MVC所提供的View模板工具&#xff1b; MVC所提供的View切换、向导工具&#xff1b; ADO.NET EF提供的模型设计工具&#xff1b; ADO…

【转】DICOM通信 - PDU数据包(2)

转自&#xff1a;DICOM通信 - PDU数据包(2)_翼遥君的博客-CSDN博客 DICOM通信-PDU数据包(1)博客中主要分析了DICOM通信协议的连接协商请求和连接协商应答。 在7个PDU数据包中还有5个数据包&#xff0c;从结构上来看&#xff0c;他们比协议的协商过程要简单明了一些。 这篇博客…

Win CE下编译选项介绍

在WinCE中&#xff0c;在"Build OS”菜单中&#xff0c;我们会看到不同的编译选项&#xff1a; "Sysgen"&#xff0c;"Build and Sysgen"和"Build and Sysgen current BSP" Sysgen&#xff1a;不用多说&#xff0c;当你在"Catalog&quo…

“启动Word时提示出错,只能用安全模式才能打开”的解决方法

启动Word时提示出错&#xff0c;只能用安全模式才能打开&#xff0c;在这种模式下&#xff0c;一些功能将被禁用。而且&#xff0c;每次启动都会出现这样的提示信息&#xff0c;同事们很多向我求助。提示窗口如下&#xff1a; 于是我采取了以下一些措施&#xff1a; 1、用Offic…

DotNET内存管理与垃圾回收[转]

1. Stack&#xff08;栈&#xff09;和Heap&#xff08;堆&#xff09;每个线程对应一个stack&#xff0c;线程创建的时候CLR为其创建这个stack&#xff0c;stack主要作用是记录函数的执行情况。值类型变量&#xff08;函数的参数、局部变量等非成员变量&#xff09;都分配在st…

WinCE中,环境变量的添加,删除和查询

在WinCE中有很多的环境变量&#xff0c;那么如何设置/删除/查询这些环境变量呢&#xff1a;1. 查询环境变量&#xff1a;当我们在PB里打开或者创建一个工程以后&#xff0c;我们可以在菜单中点 “build”->“Open Release Directory in Build Window”&#xff0c;然后会弹出…

【转】DICOM命令集和数据集解析!!

转自&#xff1a;DICOM命令集和数据集解析 - 微笑的艾米 - 博客园 摘 要&#xff1a;本文通过分析一个典型的DICOM消息&#xff0c;详细地解析了DICOM命令集和数据集的构成方式和其含义。并在此基础上&#xff0c;提出了一种实现DICOM命令集和数据集解析的实施方案&#xff0…

【转】WPF XAML X名称空间详解

转自&#xff1a;WPF XAML X名称空间详解_郎涯技术-CSDN博客 X名称空间里面的成员(如X:Name,X:Class)都是写给XAML编译器看的、用来引导XAML编译器将XAML代码编译为CLR代码。 【X名称空间里面到底都有些什么】 x名称空间映射的是:http://schemas.microsoft.com/winfx/2006/xam…

C++编绎器编绎C语言的问题

由于应用的需要&#xff0c;要在原来的C语言中加入C类&#xff0c;这时就会出现很多类型转换的错误&#xff0c;因为在C语言中默认的是强制转换的&#xff0c;而在C中不会自动强制转换&#xff0c;只能手工强制转化。所以出现错误了&#xff0c;只有一个错误一个错误的改了。我…

关于mult-xip bin的一些资料整理

一.实现multbin 1.首先修改config.bib 比如:#elif defined IMGMULTIBIN; NAME START ADDR SIZE TYPE; ----------------------------------------------------------------NK 80220000 007DE000 RAMIMAGE SHELL 809FE000 001…

x210-II WinCE启动10s,还可继续优化

为提高boot引导速度&#xff0c;&#xff0c;需支持multibin。方法如下: 1.D:\WINCE600\PLATFORM\SMDKV210\SMDKV210.bat REM For Multiple XIP (using demand paging on BINFS) set IMGMULTIXIP1 2.调整config.bib镜像大小 由于系统生成的XIPKERNEL约为3M。大于默认设置。所…