C++中反斜杠作用“\”

本文介绍了C++中反斜杠的作用,包括作为转义字符和续行符的应用,并通过多个示例说明如何正确使用续行符来提高代码可读性和避免编译错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++中反斜杠作用“\”

标签: c++编译器百度
4920人阅读 评论(3) 收藏 举报
本文章已收录于:
分类:

  1. 今天看了一下vc自带的一些头文件的内容,看到很多语句后面都有反斜杠,在印象中就只有//是表示注释功能的,但是反斜杠也只是一个转义字符来的。但是语句后面再加一个反斜杠,还真没见过!查了一下,原来是这样的:  
今天看了一下vc自带的一些头文件的内容,看到很多语句后面都有反斜杠,在印象中就只有//是表示注释功能的,但是反斜杠也只是一个转义字符来的。但是语句后面再加一个反斜杠,还真没见过!查了一下,原来是这样的:

①转义字符;如:\n表示回车+换行等。

②续行符;这个需要注意一下,在一般的语句中,这个有和没有事没关系的,编译器编译的时候会自动把两句连在一起(注意是把第二行原原本本从开始第一个字符(包括空格)连接到前一行上面);看下面例子:

  1. int i = 1;  
  2.     cout<<i++  
  3.         <<i++<<i++<<endl;  
	int i = 1;
 	cout<<i++
 		<<i++<<i++<<endl;

这个是没错的。

但是:

  1. int i = 1;  
  2.     cout<  
  3.         <i++<<i++<<i++<<endl;  
	int i = 1;
 	cout<
 		<i++<<i++<<i++<<endl;

这个会发生错误。

然后这个:

  1. int i = 1;  
  2.    cout<\  
  3.    <i++<<i++<<i++<<endl;  
int i = 1;
   cout<\
   <i++<<i++<<i++<<endl;


但是这个也是有问题的。

然后这个:

  1. int i = 1;  
  2.     cout<\  
  3. <i++<<i++<<i++<<endl;  
	int i = 1;
 	cout<\
 <i++<<i++<<i++<<endl;

这个是没有问题的!

到这里,明白了吧!

另外还有一个需要注意的地方,上面的续行符是用在某个语句比较长的时候,用来续行的,这样会好看点。还有一作用就是——系统规定,宏定义的时候,代替的语句很长或者是个语句块甚至函数的时候,就需要用到这个反斜杠了!看下面:

参考百度知道
这玩意儿有个正式的名称叫做续行符,在普通代码行后面加不加都一样(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的预处理器在编译之前会自动将\与换行回车去掉,这样一来既不影响阅读,又不影响逻辑,皆大欢喜

2
0
 
 
我的同类文章
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值