拼接字符串常量

简介: [cpp] view plaincopy   #define FAMILY_NAME "曾"   printf(FAMILY_NAME "Jack");     最近看到有类似这样的c++代码,当时一看,我靠,还有这样写的啊!什么情况!这样也能行! 我当时还不信,认为一定会报语法错误,于是测试下,还真可以。
[cpp]  view plain copy
 
  1. #define FAMILY_NAME "曾"  
  2. 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";
当然你也许要说,当字符串很长时,可以这样:

[cpp]  view plain copy
 
  1. char str[]="abc"\  
  2.  "erg";  

但是用了“\”这就一定要换行哦(即"abc"和"erg"不能在同一行);

 

 

测试例子如下:

int _tmain(int argc, _TCHAR* argv[])
{

char* szChar1 = "12345"
"6789"
"abcd";

char* szChar2 = "12345" "6789" "abcd";

char* szChar3 = "12345"
"6789"
"abcd";

char* szChar4 = "12345"\
"6789"\
"abcd";

//上面这些写法都可以使用

 

 

//char* szChar5 = "12345"\"6789"\"abcd"; //这种写法错误

int i = 1;
return 0;
}

目录
相关文章
|
安全 算法 编译器
【C++泛型编程 进阶篇】模板返回值的优雅处理(一)
【C++泛型编程 进阶篇】模板返回值的优雅处理
400 0
|
算法 程序员 C语言
【C++ 随机数分布类型 】深入探索C++随机数分布:原理、应用与实践(二)
【C++ 随机数分布类型 】深入探索C++随机数分布:原理、应用与实践
346 0
【C++ 随机数分布类型 】深入探索C++随机数分布:原理、应用与实践(二)
|
Java Windows
JDK 1.8(Windows版)安装教程
JDK 1.8(Windows版)安装教程
452 1
|
存储 安全 API
C++ 17 新特性 C++ String View:了解C++ 17 std::string_view的使用场景
C++ 17 新特性 C++ String View:了解C++ 17 std::string_view的使用场景
580 2
|
Web App开发 索引
正则表达式匹配域名、网址、url
DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母。标号中除连字符(-)外不能使用其他的标点符号。级别最低的域名写在最左边,而级别最高的域名写在最右边。由多个标号组成的完整域名总共不超过255个字符。
30920 0
|
JavaScript 前端开发 算法
React技术栈-虚拟DOM和DOM diff算法
这篇文章介绍了React技术栈中的虚拟DOM和DOM diff算法,并通过一个实际案例展示了如何使用React组件和状态管理来实现动态更新UI。
120 2
|
人工智能 自然语言处理 API
深入浅出LangChain与智能Agent:构建下一代AI助手
LangChain为大型语言模型提供了一种全新的搭建和集成方式,通过这个强大的框架,我们可以将复杂的技术任务简化,让创意和创新更加易于实现。本文从LangChain是什么到LangChain的实际案例到智能体的快速发展做了全面的讲解。
282538 62
深入浅出LangChain与智能Agent:构建下一代AI助手
|
IDE 开发工具 C++
快速开始c,配置Clion
快速开始c,配置Clion
352 0
|
编译器 Linux C语言
Windows下编译并使用64位GMP
Windows下编译并使用64位GMP
535 0
|
分布式计算 算法 搜索推荐
阿里巴巴内部:全技术栈PPT分享(架构篇+算法篇+大数据)
我只截图不说话,PPT大全,氛围研发篇、算法篇、大数据、Java后端架构!除了大家熟悉的交易、支付场景外,支撑起阿里双十一交易1682亿元的“超级工程”其实包括以下但不限于客服、搜索、推荐、广告、库存、物流、云计算等。 Java核心技术栈:覆盖了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。 大数据:Spark、Hadoop