C++ 字符串字面值拼接

来源:互联网 发布:网络延长器是什么 编辑:程序博客网 时间:2024/05/11 05:13

C++Primer中文版: 第5版    2.1.3  第36页


    如果两个字符串字面值位置紧邻且仅由空格、缩进和换行符分隔,则它们实际上是一个整体。当书写的字符串字面值比较长,写在一行里不太合适时,就可以采取分开书写的方式:


---------------------------------------------------------------------------------------------------------------------------------------------------------

拼接字符串常量

jiese1990

#define FAMILY_NAME "曾"printf(FAMILY_NAME "Jack");

最近看到有类似这样的c++代码,当时一看,我靠,还有这样写的啊!什么情况!这样也能行!

我当时还不信,认为一定会报语法错误,于是测试下,还真可以。


起初还以为是,函数传递参数时,做了特殊处理...于是乎char str[]=FAMILY_NAME "Jack";试了试!居然也行!
字符串可以,int数组不知道行不行!额,int arry[]={1,2,3}{4,5,6};//这样不可以!

网上查阅资料,群里问大神!最后还是在C++ Primer里找到答案!原来这原本就是C++语法的一部分,叫拼接字符串常量

唉,学了将近两年的c++了!这样的语法都没见过!以后出去都不敢说自己是学c++的了!c++的路还很遥远啊!

在实习的日子里一定要跟着带我的大哥好好学习!


c++Primer 解释
拼接字符串常量:
有时候字符串很长,无法放到一行中。就可以使用拼接字符串常量!即将两个引号括起的字符串合并为一个!
"曾" "Jack"<==等价==>"曾Jack";
当然你也许要说,当字符串很长时,可以这样:
char str[]="abc"\ "erg";
但是用了“\”这就一定要换行哦(即"abc"和"erg"不能在同一行);

拼接字符串常量

jiese1990

#define FAMILY_NAME "曾"printf(FAMILY_NAME "Jack");

最近看到有类似这样的c++代码,当时一看,我靠,还有这样写的啊!什么情况!这样也能行!

我当时还不信,认为一定会报语法错误,于是测试下,还真可以。


起初还以为是,函数传递参数时,做了特殊处理...于是乎char str[]=FAMILY_NAME "Jack";试了试!居然也行!
字符串可以,int数组不知道行不行!额,int arry[]={1,2,3}{4,5,6};//这样不可以!

网上查阅资料,群里问大神!最后还是在C++ Primer里找到答案!原来这原本就是C++语法的一部分,叫拼接字符串常量

唉,学了将近两年的c++了!这样的语法都没见过!以后出去都不敢说自己是学c++的了!c++的路还很遥远啊!

在实习的日子里一定要跟着带我的大哥好好学习!


c++Primer 解释
拼接字符串常量:
有时候字符串很长,无法放到一行中。就可以使用拼接字符串常量!即将两个引号括起的字符串合并为一个!
"曾" "Jack"<==等价==>"曾Jack";
当然你也许要说,当字符串很长时,可以这样:
char str[]="abc"\ "erg";
但是用了“\”这就一定要换行哦(即"abc"和"erg"不能在同一行);
原创粉丝点击