我有一个在构造函数中接受 istream 引用的类。如果构造函数传递了一个临时对象myclass obj(ifstream("filename"));
,例如 ifstream 对生命有好处obj
吗?它是否取决于它是否分配给类中的引用或指针?
例如:
class test
{
public:
istream *p;
test(istream &is)
{
p = &is;
cout << "a constructor" << endl;
}
~test()
{
cout << "a destructor" << endl;
}
bool isgood()
{
return p->good();
}
};
int main()
{
test test(ifstream("test.cpp"));
cout << test.isgood() << endl;
}
输出:
a constructor
1
a destructor
仅仅因为输出说文件很好,我不知道它是否被破坏了。如果有部分标准涵盖了这一点,请告诉我。谢谢