gpt4 book ai didi

c++ ->> 在 C++ 中做什么

转载 作者:太空狗 更新时间:2023-10-29 23:25:38 24 4
gpt4 key购买 nike

我正在浏览关于 C++ 的谷歌大学部分,但我不确定这段代码的作用:

if (!(cin >> input_var)) {

cout << "you entered a non-numeric. Exiting..." << endl;
break;

}

if 语句中的语句实际上在这里做了什么?

谢谢!

最佳答案

这是非常基础的 C++。通常,>><<用于位移位。然而,I/O 流库已重载 operator>>operator<<用于流,以便它们可以分别用于提取插入。为什么?因为运算符看起来像两个具有一定方向性的箭头,所以代码读起来很好 - 数据正朝那个方向移动。

所以在你的例子中,cin是标准输入流,您正在从该流中提取一个整数到变量 input_var .你读了cin >> input_var如“从标准输入中提取 input_var”。

同样,在你的体内 if语句,您正在插入到标准输出流中,cout .

operator<< 的 I/O 过载和 operator>>返回对要从中提取或插入的流的引用。此流可转换为 bool允许您检查其状态。也就是说,做 if (cin)将检查 cin 的状态流还可以。在您的情况下,我们使用“非”运算符 ! , 检查流是否正常。如果不是,我们输出错误。

值得一提的是 !(cin >> input_var)if里面语句本身不是语句 - 它是一个表达式。

关于c++ ->> 在 C++ 中做什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13937629/

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