我想使用類成員初始值設定項的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