我正在尝试将RAII概念与 ofstream 对象的 STL 容器一起使用。例如:
int main(int argc, char**argv)
{
std::deque<std::ofstream> sList;
sList.push_back(std::ofstream()); // tried variations such as *(new ofstream())
sList[0].open("test1.txt");
sList[0] << "This is a test";
sList[0].close();
}
但是,无论我如何尝试调整代码和声明,编译器总是抱怨。显然,位于流内部的 std::basic_ios 的复制构造函数是私有的。是否有任何简单的 C++/STL 解决方案可以使用 RAII 执行此操作,或者我是否需要涉及某种类型的智能指针?