原文:http://blog.csdn.net/zhu2695/article/details/9152069

参考一

由于最近好几次碰到反斜杠,不明白是什么意思,后来查了下,原来用的较多的是作为强制换行符,衔接上下两行的意思。有时候一个语句太长,一行写不下,或者显得不美观,为了便于阅读,可以将较长的语句拆分成两行甚至多行,除了最后一行之外,在每一个分行后面加一个反斜杠“\”,这样编译的时候,系统会自动将这几个分行读成一个语句处理。比如:

1) 用在宏定义中:

#define CV_ARE_SIZES_EQ(mat1, mat2) \
    ((mat1)->rows == (mat2)->rows && (mat1)->cols == (mat2)->cols)

2) 用在printf中,有时候printf中语句太长,需要切分,则需用到反斜杠;

3) 用“//”只能注释当前行的语句,想要将下一行一起注释掉,则可以在该行最后加上反斜杠。

另外,反斜杠除了强制换行的作用之外,还有转义符的意思。如:“\n”表示换行符,"\t" "\b"等,此时反斜杠表示转义,执行反斜杠后面的符号表示的意思。

但若要取反斜杠的本意,则需要在反斜杠之前再加一个反斜杠才能正确表示。比如我要在程序中读取F:\OpenCV2.0\vs2008\videos\videos1.avi ,,我不能直接将这样表示,而应该在每一个反斜杠前面再加一个反斜杠,表示为:F:\\OpenCV2.0\\vs2008\\videos\\videos1.avi ,这样才能正确读取你要的文件。

总结一下,目前个人了解的反斜杠的作用是两种:

1 是作为转义字符,将进行的操作是紧跟其后的字符的操作。

2 与回车键组合进行强制换行。在要强制换行的地方输入反斜杠然后回车,系统编译的时候会自动将反斜杠下面的一行与前面的一行解释成一个语句。

另:在命令行中使用反斜杠见:http://msdn.microsoft.com/en-us/library/aa243471.aspx

续行符

在普通代码行后面加不加都一样(VC是自动判断续行的),但是在宏定义里面就特别有用,因为宏定义规定必须用一行完成:

#define SomeFun(x, a, b) if(x)x=a+b;else x=a-b;

这一行定义是没有问题的,但是这样代码很不容易被理解,以后维护起来麻烦,如果写成:

#define SomeFun(x, a, b)

if (x)

x = a + b;

else

x = a - b;

这样理解是好理解了,但是编译器会出错,因为它会认为#define SomeFun(x, a, b)是完整的一行,if (x)以及后面的语句与#define SomeFun(x, a, b)没有关系(宏定义只能在一行内完成).

这时候我们就必须使用这样的写法:

#define SomeFun(x, a, b)\

if (x)\

x = a + b;\

else\

x = a - b;

注意:最后一行不要加续行符啊.VC的预处理器在编译之前会自动将\与换行回车去掉,这样一来既不影响阅读,又不影响逻辑,皆大欢喜.

参考二

宏定义的反斜杠后不能有空格

c语言中,宏定义太长,用反斜杠转义,写成多行时,反斜杠后不能有空格,否则编译器(ARM或VC)会报错!例如:

//注册国内版曲奇的配置,注意大小屏幕问题
#define _REG_COOKIE_INLAND  \
{ mr_registerAPP((uint8 *)mrp_cookie, sizeof(mrp_cookie), 9);  \
 mr_registerAPP((uint8 *)mrp_cookie_config, sizeof(mrp_cookie_config), 18); \
 SKYENGINE_LOG( "mr_registerAPP   _REG_COOKIE_INLAND "); \
}

上述代码的4个反斜杠后,都不能有空格,或其它字符,而新行的开头,可以有空格或tab符号

C++续行符(反斜杠符号)相关推荐

  1. python的多行语句可以使用反斜杠_Python的续行符:反斜杠\

    Python中的续行符是反斜杠(\),它可以将一行代码分成多行来写,便于代码的编写和阅读,使用方式是在行尾加上反斜杠(\),注意反斜杠后面不能加空格,必须直接换行. 参考代码: s1 = '\ \ \ ...

  2. 神奇的用法_续行符——反斜杠

    在C++中,一行之后加上反斜杠'\',表示此行没有结束,编译的时候会自动将下一行作为同一句语句编译,这在宏定义的时候非常有用. 例如: #define getGroupID(a,x) if(a< ...

  3. C语言中的比较大小的宏定义与反斜杠符号 ' \ '

    以下是一个写有比较大小的宏定义,其中每一行的末尾有有一个反斜杠符号 ' \ ' ,其代表的意思本行要写的内容还未结束,是连接这行与下一行的纽带.因为宏定义的内容是要编写在同一行才会生效,隔行的话语句就 ...

  4. 转义符——反斜杠(\)

    符号 名字 作用 \r 回车符 将光标定位到当前行的开头,不会跳到下一行 \n 换行符 换到下一行的开头 \t 制表符 将光标移到下一个制表符的位置,就像在文档中用Tab键一样 \b 退格符号 就像键 ...

  5. JAVA 删除json中反斜杠_如何去除spring的ModelMap的返回类型的JSON序列化字符串中带有反斜杠符号...

    一.前言 基于Spring MVC的org.springframework.ui.ModelMap数据返回类型,写出JSON字符串后打印显示串带有斜杠\,造成前端H5接口无法正常按照JSON格式显示, ...

  6. namefilter 前台反斜杠格式_001获取小猴子的信息并格式化输出

    今天我们练习从控制台获得用户的输入,包括用户的名字,年龄,爱好,性别,并且格式化的方式输出...输出效果是这样的: 你的名字? 悟饭 你是boy or gril? boy 你几岁了? 7岁 你喜欢的英 ...

  7. python 字符串结束符_python字符串以反斜杠结尾

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! eol while scanning string literal解析器似乎可以 ...

  8. Python中关于反斜杠(\)用法的总结

    首先,我们需要知道的是,在python中/所代表的是正斜杠,而\代表的是反斜杠.关于反斜杠的使用,我认为转义二字就是其用法的本质.转义,我的理解就是通过对反斜杠的使用,使字符.格式等与其原来意义不同, ...

  9. Qt5.9输入一个符号反斜杠\问题

    在Qt5.9用Creator编写C/C++程序时,当需要一个QString类型的反斜杠符号时,不能直接输入反斜杠符号"\",而是需要输入双反斜杠符号"\\". ...

最新文章

  1. matlab contour光滑,使用Matplotlib在Contour Plot中平滑数据
  2. Django restful-framework初步学习
  3. java 手机号脱敏,身份证号脱敏 工具类
  4. 安全操作中心之于SDN
  5. 【数据分析】数据分析基础:SQL重要知识点梳理!
  6. 发那科pmc编程手册_如何学习FANUC PMC功能指令
  7. 微信小范围上线“分付”功能;罗永浩宣布独家签约抖音;Github pages 可能遭遇中间人攻击 | 极客头条...
  8. linux下如何在线添加和移除scsi磁盘?
  9. jquery操作select、radio、checkbox表单元素
  10. informix linux 下载,linux安装informix
  11. 3步快速彻底卸载MySQL
  12. d435i 深度相机运行踩坑大合集
  13. 母羊奶粉的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  14. python画板——画樱花
  15. 1000卡路里计算器_Excel卡路里燃烧计算器
  16. linux聊天python_Python socket C/S结构的聊天室应用
  17. 阿哲学了就来聊——Java反射
  18. vbs获取html内容,VBS获取网页内容
  19. BBS论坛项目总结(持更),附源码
  20. Java开发知识体系!javadruid数据库连接池

热门文章

  1. 关于22年应届生就业难发表一些自己的想法
  2. linux利用su -从普通用户切换root权限
  3. SQL Round 取整千 整百 整万
  4. dcs与plc与c语言的联系,PLC 与DCS的通讯方式,举例讲解
  5. Java一维数组学生成绩找最高分,输出成绩等级题目练习
  6. 应届毕业生不想应聘上班,一心想独自创业,有什么好的项目推荐?
  7. 先正达将在科创板上会:拟募资650亿元,预计全年收入超2100亿元
  8. 鼠标使用板载内存和使用计算机上,鼠标怎么选?教你选择适合自己的游戏鼠标。...
  9. python之turtle库学习(海龟图形)
  10. must be unique: xxx.xxx.xxx:xxx:jar -> duplicate declaration of version 0.0.1 @ line 25, column 21