`cin >>`虽然它们被空格分隔,它们如何取三个值?

问题描述 投票:-1回答:2

在线查看一些代码时我发现了

cin>>arr[0][0]>>arr[0][1]>>arr[0][2]

我在其中放置一个由空格分隔的三个整数值的行。我看到由空间分隔的那三个整数成为arr[0][0]arr[0][1]arr[0][2]的值。

如果它们之间有多个空格,则不会造成任何问题。

PLZ,任何人都可以解释我这是如何工作的?

c++ input cin
2个回答
1
投票

operator>>的大多数重载首先消耗并丢弃所有空白字符。他们开始从流中的第一个非空白字符开始解析实际值(例如,int)。


0
投票

在询问之前你应该阅读更多。从输入读取(字符串除外)首先跳过任何前导空格,然后从第一个非空白字符开始

http://en.cppreference.com/w/cpp/io/basic_istream/operator_gtgt

© www.soinside.com 2019 - 2024. All rights reserved.