这个特定的行cin.ignore(numeric_limits<streamsize>::max(), '\n')
在C ++编程中意味着什么?这实际上忽略了用户的最后输入吗?
答案 0 :(得分:17)
此行忽略当前行的其余部分,最多为'\n'
或EOF
- 以先到者为准:
'\n'
设置分隔符,即cin
停止忽略的字符numeric_limits<streamsize>::max()
设置要忽略的最大字符数。由于这是流大小的上限,因此您实际上告诉cin
要忽略的字符数没有限制。答案 1 :(得分:0)
cin.ignore(numeric_limits
:: max(),'\ n');
在这里,\n
用作分隔符...。这是必须忽略代码的地方(在这种特殊情况下为“ \ n”)。
max()
定义了可以忽略的数量没有限制,空格和制表符必须被忽略,直到行结束。
答案 2 :(得分:0)
此代码表示必须在 2 基础上忽略输入 -1 如果 '\n' 被读取 -2 如果达到限制
由于限制为最大值,因此只有 '\n' 是要考虑的主要条件