gpt4 book ai didi

c++ - cout 是否需要以分号结尾?

转载 作者:太空狗 更新时间:2023-10-29 19:41:03 26 4
gpt4 key购买 nike

我正在阅读 Bjarne Stroustrup 的编程:使用 C++ 的原理和实践

在第 2 章的练习部分,它讨论了在编译 hello_world 程序时查看输入错误的各种方法

#include "std_lib_facilities.h"

int main() //C++ programs start by executing the function main
{
cout << "Hello, World!\n", // output "Hello, World!"
keep_window_open(); // wait for a character to be entered
return 0;
}

本节特别要求:

Think of at least five more errors you might have made typing in your program (e.g. forget keep_window_open(), leave the Caps Lock key on while typing a word, or type a comma instead of a semicolon) and try each to see what happens when you try to compile and run those versions.

对于cout这一行,你可以看到有一个逗号而不是分号。
这编译并运行(对我来说)。它是否假设(如 javascript 问题:Why use semicolon?)语句已终止?

因为当我尝试 keep_terminal_open(); 时,编译器会通知我排除了分号。

最佳答案

C++中的逗号运算符可以如下使用:

a, b;

意思是“执行a,忽略结果,然后执行b”。您可以像这样将它链接在一起:

a, b, c, (etc.), n;

一般来说,这不是好的风格。逗号运算符在实践中很少使用,因为它很容易混淆。几次它合法有用的时候通常会出现 for 循环:

for (int a = 0, b = 0; a < 100; a++, b++) {
/* ... */
}

在这里,我们在 for 循环的最后部分使用逗号运算符来表示“增加 ab”。

要回答您的问题,是的,您应该在cout 之后有一个分号。使用逗号运算符在技术上也可行,但它不够优雅并且可能会让人感到困惑。

关于c++ - cout 是否需要以分号结尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4675908/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com