在线查看一些代码时我发现了
cin>>arr[0][0]>>arr[0][1]>>arr[0][2]
我在其中放置一个由空格分隔的三个整数值的行。我看到由空间分隔的那三个整数成为arr[0][0]
,arr[0][1]
和arr[0][2]
的值。
如果它们之间有多个空格,则不会造成任何问题。
PLZ,任何人都可以解释我这是如何工作的?
operator>>
的大多数重载首先消耗并丢弃所有空白字符。他们开始从流中的第一个非空白字符开始解析实际值(例如,int
)。
在询问之前你应该阅读更多。从输入读取(字符串除外)首先跳过任何前导空格,然后从第一个非空白字符开始
http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt