来自C ++ Primer:
下一个声明
std::cin >> v1 >> v2;
读取输入。输入操作符(»运算符)表现 类似于输出操作员。它需要一个istream 左手操作数和一个对象作为右手操作数。它读 来自给定istream的数据并存储给定的读取内容 宾语。与输出运算符一样,输入运算符返回它 左手操作数作为结果。因此,这个表达是等价的 到
(std::cin >> v1) >> v2;
我不明白。这两个表达式是如何相同的?也许这很简单。但是我没理解。
答案 0 :(得分:3)
operator>>
只有2个操作数和返回值,所以当你写:std::cin >> v1 >> v2
时,它意味着:
result = std::cin >> v1
result >> v2
这里的其他例子:a + b + c
是
result = a + b
result + c
答案 1 :(得分:0)
std::cin >> v1
是一个表达式,可以将数据读入v1
并评估为std::cin
。也许它有助于将其可视化:
(std::cin >> v1) >> v2;
//reads into v1 and evaluates to
(std::cin) >> v2;
//equivalent to
std::cin >> v2;
答案 2 :(得分:0)
您可以将第一个变体视为第二个变体的简写。类似于a + b + c实际上是(a + b)+ c,意味着首先添加a和b,取结果并向其添加c。所以这里,std :: cin>> v1返回一个流,我们接受它并用v2操作生成的流。您可以选择()。