c++代码各种注释示例详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c++代码各种注释⽰例详解
⽬录
1、前⾔
2、正⽂(危)
1.以代码例⼦为例
(1)代码段1
(2)代码段2
(3)代码段3
(4)代码段4
2.其它的注释⽅法
(1)条件编译
(2)if 条件
1、前⾔
今天想带⼤家来了解⼀下注释,当然,是C 语⾔中的注释,这个⼤家都并不会感到陌⽣,但是,当有⼀天⾯试官问你?⼩伙⼦啊,你能给我讲讲什么是注释吗?⼤家应该都会懵的吧,毕竟注释有什么可讲的呢?但是事实真的如此吗?今天就由我来带⼤家了解⼀下注释吧!
2、正⽂(危)
1.以代码例⼦为例
(1)代码段1
⾸先来⼏段注释的例⼦⼤家来判断下对错(从语法⾓度和是否实现注释的效果来看)
123456789
#include <stdio.h>int main(){
int /* */ i; char* s = "abcdefgh //hijklmn"; //Is it a\
valid comment?
in/* */t j; return 0;}当⼤家把这段代码放在vs 上去运⾏的时候,报错的代码只有最后⼀⾏代码,即in/* */t j ;我们就知道这⾏代码是有语法错误的,那么其它的代码就完全没有问题了吗?当然,其它的代码没有了语法错误,但是它们的注释效果真正实现了吗?
这个是编译器上的标识图,上⾯的⼏⾏代码虽然没有报语法错误,但是有的代码却没有真正实现其注释的效果,下⾯我们将⼀⾏⼀⾏的带⼤家来进⾏分析!
⾸先看第⼀⾏:int /* */ i;经过替换后。

中间的转换为空格,可见并没有语法错误,且能够达到注释的⽬的。

接下来看第⼆⾏代码,这个地⽅⼤家可能会感到疑惑了,我命名加了注释符的啊,但是为什么没有达到我想要的效果呢?这个地⽅的原因是因为//是在字符串中,此时的第⼀个/被理解成了转义字符,⽽第⼆个则真正被理解成了/,⾄于为什么第⼆个/没有被理解成转义字符呢?因为第⼀个/防⽌了后⾯的字母被转义,所以后免的⼀个/才没有被理解成是转义字符,好像扯的有点远了。

这个地⽅需要告诉⼤家的是
有的朋友就好奇了,既然C++风格的注释⾏不通,那么C
语⾔的风格能否⾏得通呢?答案是不能,下⾯给⼤家证明⼀下吧!
(2)代码段2
1
/*这是
*/#/*⼀条*/define/*合法的*/ID/*预处理*/replacement/*指*/list/*令*/
//这段代码指的就是⽤replacement list 替换
ID 当这段代码放到VS 上是这样的:
(3)代码段3
123/*/*
*/
*/
这段代码在vs 中是下⾯这样的:
(4)代码段
4
1234int x = 10 ;
int y = 10;
int z = 5;
int *p = &z;
y = x/*p;
上⾯这种代码⼀定要注意,乍⼀看没有什么问题,但是接下来我们放到编译器上看⼀下:
2.其它的注释⽅法(1)条件编译
1
2 3 4 5 6 7 8 9 10 11#include <stdio.h>
#include <windows.h>
#define MONEY 1(只有定义了前⾯的宏,ifdef到endif中间的这段代码才能够正常运⾏,未定义则跳过) int main()
{
#ifdef MONEY
printf("for test1\n"); //test1
printf("for test2\n"); //test2
#endif
system("pause");
return0;
}
(2)if条件
可以通过if(0)来进⾏注释,但并不推荐。

到此这篇关于c++代码各种注释⽰例详解的⽂章就介绍到这了,更多相关c++代码注释内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。

相关文档
最新文档