Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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++ While循环中的条件 #包括 int main() { 整数和=0,值=0; //读取到文件末尾,计算读取的所有值的运行总数 而(标准::cin>>值) sum+=value;//相当于sum=sum+value std::cout_C++ - Fatal编程技术网

C++ While循环中的条件 #包括 int main() { 整数和=0,值=0; //读取到文件末尾,计算读取的所有值的运行总数 而(标准::cin>>值) sum+=value;//相当于sum=sum+value std::cout

C++ While循环中的条件 #包括 int main() { 整数和=0,值=0; //读取到文件末尾,计算读取的所有值的运行总数 而(标准::cin>>值) sum+=value;//相当于sum=sum+value std::cout,c++,C++,表达式std::cin>>value返回一个值(对流std::cin的引用)。如果读取成功,该值隐式转换为true,如果读取失败,则隐式转换为false。该函数用于隐式转换 我认为CPPFerence比我更能描述它: std::basic\u ios::operator bool C++输入/输出库std::basic_ios 运算符void*()const;(1)(直到C++11) 显式运算符bool()const;(2)(从C++11开始) 检查流是否没有错误 如果fail()返回true,

表达式
std::cin>>value
返回一个值(对流
std::cin
的引用)。如果读取成功,该值隐式转换为
true
,如果读取失败,则隐式转换为
false
。该函数用于隐式转换

我认为CPPFerence比我更能描述它:

std::basic\u ios::operator bool

C++输入/输出库std::basic_ios

运算符void*()const;
(1)(直到C++11)

显式运算符bool()const;
(2)(从C++11开始)

检查流是否没有错误

  • 如果
    fail()
    返回
    true
    ,则返回空指针,否则返回非空指针。此指针可隐式转换为
    bool
    ,并可在布尔上下文中使用
  • 如果流没有错误并且准备好进行I/O操作,则返回
    true
    。具体来说,返回
    !fail()
  • < P>此操作符使得使用返回流引用的流和函数作为循环条件成为可能,导致了诸如C++的代码输入循环(流>值){…} <代码> >代码>(GETLIN(String,String)){…} /CODE。这样的循环只有在输入操作成功时才执行循环体。 术语条件有时可能会产生误导,更确切地说,它是一个布尔表达式或实际上的任何表达式-任何计算结果为true或false(truthy和Falsy值)的布尔表达式或非布尔表达式一些语言如java严格要求它是布尔值,C++中没有任何表达式隐含地强制为真或假。
    #include <iostream>
    int main()
    {
     int sum = 0, value = 0;
     // read until end-of-file, calculating a running total of all values read
     while (std::cin >> value)
     sum += value; // equivalent to sum = sum + value
     std::cout << "Sum is: " << sum << std::endl;
     return 0;
    }