c++ - C++ 中 numeric_limits<streamsize>::max() 的值

标签 c++ byte numeric-limits

在使用 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/

相关文章:

c++ - 在 C++ 中,将 std::numeric_limits<double>::max() 用作特殊的 "flag"是否安全?

java - 从 C/C++ 执行交互式 CLI 应用程序

C++嵌套模板问题

C++ 错误 : explicit qualification

java - 对 Java 中基元的隐式缩小的想法感到困惑

iphone - 从 NSData 创建 UiImage

c++ - 装饰方法时减少样板

php - 如何从php发送字节数组

c++ - C++为什么数字限制对uint8_t和int8_t不起作用?

c++ - 为模板类定义 numeric_limits max 函数