我想使用类成员初始值设定项的C++ 11功能来初始化类的变量。我有的类的变量是std :: string和std :: ifstream。类成员初始值设定项初始化ifstream错误检查?
class A{
std::string filename = "f1.txt";
std::ifstream filestream = ....
public:
....
};
是否有任何方法来初始化文件流,并同时使用类成员初始化检查错误。
我想要做的是,类似下面:
class A{
std::string filename = "f1.txt";
std::ifstream filestream(filename);
if(filestream.is_open()) .... // check if file cannot be opened
public:
....
};
那么,没有。如果文件无法打开,你想怎么做?你可以检查在构造函数中,也许会抛出异常?但我认为这是不好的做法。 – Rakete1111
@ Rakete1111多数民众赞成在我的想法以及..我只是想确保如果我做的是正确的..所以你建议我在构造函数内进行ifstream初始化? – solti
是的,但我不知道我自己:/对不起。 – Rakete1111