Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 警告信息的用途?_C++_Compiler Construction_Warnings - Fatal编程技术网

C++ 警告信息的用途?

C++ 警告信息的用途?,c++,compiler-construction,warnings,C++,Compiler Construction,Warnings,在编译没有主体的While循环时,我看到了以下消息: warning: suggest a space before ';' or explicit braces around empty body in 'while' statement 我为什么要放一个空格?是为了更清楚地表明我的循环实际上没有做任何事情吗?是的——通常的惯例是将它自己放在一条线上,类似这样: while (*d++ = *s++) ; 一些人更喜欢使用以下东西: while (*d++ = *s++) {

在编译没有主体的While循环时,我看到了以下消息:

warning: suggest a space before ';' or explicit braces around empty body in
'while' statement
我为什么要放一个空格?是为了更清楚地表明我的循环实际上没有做任何事情吗?

是的——通常的惯例是将它自己放在一条线上,类似这样:

while (*d++ = *s++)
    ;
一些人更喜欢使用以下东西:

while (*d++ = *s++)
{
    /* intentionally empty */
}

是的,这只是为了表明您没有错误地在行的末尾自动放置分号

我为什么要放一个空格?是为了更清楚地表明我的循环没有真正起作用吗

是的,就是这样


许多没有经验的程序员经常把
在控制流语句之后,如
for
while
,因为它们假定
位于每行的末尾,而不仅仅是语句和声明的末尾。警告只是为了让您更清楚地了解您已经创建了一个空循环。

更明显的空体循环语法是使用
continue
语句:

while (condition_with_side_effects)
    continue;
这样,没有人会认为您意外添加了一个无关的

while (condition);    // bad style

你没有忘记一个“做”字,我更喜欢这个“做”字。缺少其中一个部件就像黑板上的钉子。for(;;)的功能尤其强大。善待您的维护程序员:当您故意做一些看起来像bug的事情时,请将其记录下来。这个问题的标题对我来说似乎有点笼统?
/*这个范围故意留白*/
真的很喜欢继续提示,我从未想过这一点,感谢未来9年!