这应该是一个常见的问题,可能类似于这里的一些问题,但我正在寻找最好的方法来评论C ++中的多行(而不是方法),其中包含注释。我确实查看了SO上的一些帖子但是无法获得完整的详细信息,例如#0。
我确实查看过这篇文章Nested comments in Visual C++?,但我不在Windows平台上。
答案 0 :(得分:12)
你几乎是正确的;基本上它被建议“if-def”代码部分。您要做的是使用预编译器指令#if
来阻止代码。下面的Ex表明我想忽略if和endif之间的所有内容。
#if 0
/* Giant comment
it doesn't matter what I put here */
// it will be ignored forever.
#endif
尽管回答你的问题;没有办法进行复合评论,即
/*
/* */ <--- this closes the first /*
*/ <--- this dangles.
答案 1 :(得分:2)
使用编辑器提供的任何方法将//
添加到所有行的开头。
例如,在Vim中,您可以将这些行标记为可视块,然后在I//
的所有行的开头插入。在Visual Studio中,您可以使用CTRL-K-C
快捷方式来注释代码块。
答案 2 :(得分:1)
编译器将忽略#if 0
和#endif
之间的内容。 (您的预处理器可能会在“编译器”甚至可以查看它之前将其删除!)
#if 0
/* 42 is the answer. */
Have you tried jQuery?
@Compiler Stop ignoring me!!
#endif
如果您使用#ifdef
s:
// #define DEBUG
#ifdef DEBUG
MyFunction();
std::cout << "DEBUG is defined!";
#endif
// Later in your code...
#ifdef DEBUG
std::cout << "DEBUG is still defined!";
#endif
只需取消注释第一行,编译器就会突然看到#ifdef DEBUG
代码。
P.S。这应该会更加混乱:
/*
cout << "a";
/*
cout << "b";
*/
cout << "c";
*/
输出应为"c"
,假设您的编译器没有为上一个*/
提供任何错误。
答案 3 :(得分:1)
假设您正在使用Visual Studio的另一条路线是有一个方便的键盘快捷键来评论所有当前选定的代码,在每行之前添加//
。 CTRL+K
+ CTRL+C
发表评论,CTRL+K
+ CTRL+U
取消注释。