我注意到,使用visual studio 2003,我可以"评论"我的评论,使它们不再是评论.这个需要一个例子:
如果我有:
/*
int commented_out = 0;
*/
Run Code Online (Sandbox Code Playgroud)
我可以注释掉/*和*/with //并且/*和*/中的代码不再被"注释掉"(文本更改为非注释颜色,编译器再次将其视为代码).像这样:
///*
int commented_out = 0;
//*/
Run Code Online (Sandbox Code Playgroud)
我发现这对于msvc 2003来说是正确的,这是正常的C++行为还是只是一个与这个编译器兼容的侥幸?
Ada*_*eld 19
是的,这是完全正常的行为.C++标准说,/*只有当注释块本身没有被注释掉时,它才是注释块的开始.我经常使用你上面写的内容来添加/删除一个字符来评论或取消注释代码块.在两个代码块之间切换的一个很好的小技巧,其中一个总是被注释掉:
//*
code block 1 (uncommented)
/*/
code block 2 (commented)
//*/Run Code Online (Sandbox Code Playgroud)
现在,从头开始删除一个斜杠,它就变成了
/*
code block 1 (commented)
/*/
code block 2 (uncommented)
//*/Run Code Online (Sandbox Code Playgroud)
不是在生产代码中使用的东西,但对于快速调试更改非常有用.
pax*_*blo 10
它应该在任何编译器中工作,因为//它首先在输入流中遇到.
我倾向于使用#if 0这种东西并将其更改#if 1为取消注释,如下所示:
#if 0
int commented_out = 0;
#endif
Run Code Online (Sandbox Code Playgroud)
然后我根本不用担心评论标记.
| 归档时间: |
|
| 查看次数: |
587 次 |
| 最近记录: |