请问eof的返回类型是什么?int_type具体指哪种类型?
关于int_type的说明
int_type 是C++标准库中字符流相关类的依赖于实现的关联整数类型,出自std::basic_ios类模板的定义。
虽然相关文档没有直接明确它的具体类型,但C++标准对它有明确约束:
- 必须是有符号整数类型,宽度至少能容纳
char的所有取值,同时还要能表示一个不与任何有效字符值重叠的EOF标记(通常为负数值,比如常见的-1) - 由于需要兼容
bool类型的语义转换,它的宽度至少与bool相当是必然要求
你猜测它是“宽度至少与char和bool相当的有符号整数类型”完全正确。标准只规定了它的行为边界,具体实现可选择符合要求的任意有符号整数类型——比如多数常见实现里,int_type就是int类型。
内容的提问来源于stack exchange,提问作者ByteEater
相关产品推荐
相关产品推荐

