c++ - 为什么 std::fstream 返回 void 而不是 bool

标签 c++

为什么 C++ 标准库中 std::fstream 类的成员函数 open 返回 void 而不是 bool 来立即检查是否成功打开?

最佳答案

因为如果设置了异常,则当 open 调用不成功时它会抛出异常,或者它们使用 failbit 来指示发生错误。来自文档:

On failure, the failbit flag is set (which can be checked with member fail), and depending on the value set with exceptions an exception may be thrown.

关于c++ - 为什么 std::fstream 返回 void 而不是 bool,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12716151/

相关文章:

c++ - 创建变量的别名?

java - Java 和 C++ 之间的 IPC

c++ - 扫描 FAT32 磁盘中文件的最快方法是什么?

c++ - auto 是基于 for 循环的范围内的可选关键字吗?

c# - 为什么这个表达式在 C# 和 C++ 中产生不同的结果?

c++ - std::enable_if 更改成员 *variable* 声明/类型

C++ 程序每隔一行读取输入文件,而不是每一行

c++ - 使用嵌套命名空间 "using namespace"声明 ("namespace xxx::yyy not allowed in using-declaration"时出错)

C++ 语法 : Using a typedef to typecast

c# - 如何更改 SWIG 生成的 CSHARP 文件中的构造函数代码