C++ 这个C++;使用不寻常的单布尔语句的代码?

C++ 这个C++;使用不寻常的单布尔语句的代码?,c++,C++,这段代码为什么以及如何工作 #include <iostream> using namespace std; void nothing() { false; } int main() { cout << "Working" << endl; nothing(); cout << "It worked!" << endl; } #包括 使用名称空间std; 不作废 { 虚假的; } int main

这段代码为什么以及如何工作

#include <iostream>

using namespace std;

void nothing()
{
    false;
}

int main()
{
    cout << "Working" << endl;
    nothing();
    cout << "It worked!" << endl;
}
#包括
使用名称空间std;
不作废
{
虚假的;
}
int main()
{
库特

是C++中的一个有效语句。它没有任何有用的东西,但它仍然有效。大多数编译器可能会从它们为函数创建的目标代码中删除该行。 一些具有正确编译器标志的编译器会让您知道该语句无效。使用

g++--Wall
,我得到:

socc.cc: In function ‘void nothing()’:
socc.cc:3:9: warning: statement has no effect [-Wunused-value]
    false;

是C++中的一个有效语句。它没有任何有用的东西,但它仍然有效。大多数编译器可能会从它们为函数创建的目标代码中删除该行。 一些具有正确编译器标志的编译器会让您知道该语句无效。使用

g++--Wall
,我得到:

socc.cc: In function ‘void nothing()’:
socc.cc:3:9: warning: statement has no effect [-Wunused-value]
    false;

为什么你认为这个代码是错误的?这也是工作代码:
1;2;3;
@Lashane我不认为这个代码是错误的,我只是想知道它是如何工作的,谢谢。为什么你认为这个代码是错误的?这也是工作代码:
1;2;3;
@Lashane我不认为这个代码是错误的,我只是想知道它是如何工作的工作,谢谢你们,他们中的许多人可能会产生警告,因为声明中并没有任何警告effect@Slava大多数编译器可能会从为函数创建的目标代码中删除该行我正在努力想象他们能为函数创建什么样的目标代码。这一行实际上对程序的语义没有任何影响。@LightnessRacesinOrbit,这是我不熟悉编译器在创建目标代码时所做工作的一个症状。@RSahu:那么,你认为计算机处理器的性能应该是什么样的低级逻辑指令呢NG可能用C++的这条线来表示?可能涉及哪些计算?也有许多可能会产生警告,因为语句没有任何计算。effect@Slava大多数编译器可能会从为函数创建的目标代码中删除该行我正在努力想象他们能为函数创建什么样的目标代码。这一行实际上对程序的语义没有任何影响。@LightnessRacesinOrbit,这是我不熟悉编译器在创建目标代码时所做工作的一个症状。@RSahu:那么,你认为计算机处理器的性能应该是什么样的低级逻辑指令呢可以用C++的这条线来表示NG?可能涉及哪些计算?