如果您將其聲明爲類的成員,您可以使用什麼構造函數來實例化fstream?如果你聲明它是一個類的成員,如何實例化一個fstream?
#include <fstream>
class Foo {
Foo();
// not allowed
std::fstream myFile("\\temp\\foo.txt", fstream::in | fstream::out | fstream::trunc);
// allowed
std::fstream myFile;
}
// constructor
Foo::Foo() {
// what form of myFile("\\temp\\foo.txt", fstream::in | fstream::out | fstream::trunc) can I use here?
myFile = ???
}
你能在這個新的C++ 2011的功能,讓您使用展開「初始化被允許類的身體裏面。」?當我輸入構造函數的主體時,所有成員都很容易初始化......我當時有一種明顯的印象... –
@DietmarKühl-當然!在C++ 11中,可以將默認值分配給每個類的字段。如果它們沒有被初始化列表中特定的東西覆蓋,那麼它們被初始化,就像它們在初始化列表中初始化一樣。 – templatetypedef
難怪C++變得如此深奧! – likejiujitsu