在使用 cin.ignore()
时在 C++ 中,它需要一个参数,即要消耗的字符数,直到出现分隔符。
大多数情况下,我观察到以下被使用 cin.ignore(numeric_limits<streamsize>::max(), '\n');
我很想知道 numeric_limtis<streamsize>::max()
的值所以我只是输出它的值,它变成了一个巨大的值 9223372036854775807 。
如果它表示字符数,那么它可以以字节为单位考虑,如果是这样,这不是一个很大的值,超出了我的硬盘空间。
谁能告诉我它到底是什么以及为什么值这么大?
最佳答案
isn't this a very large value exceeding my HDD space.
这正是这个值的目的。你想跳过尽可能多的字符。事实上,这个值确实表示无限,因为count test is disabled for this value :
count characters were extracted. This test is disabled in the special case when count equals std::numeric_limits< std::streamsize >::max()
关于c++ - C++ 中 numeric_limits<streamsize>::max() 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53065945/