Я пытаюсь использовать RAII концепции с контейнером STL из объектов. Например:Использование RAII с потоками C++ и 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, или мне нужно использовать какой-либо тип умного указателя?
Хотя все ответы здесь имеют хорошую информацию, мне понравился ваш ответ, потому что он объясняет логическое обоснование того, что поток файлов не копируется. Отлично сработано! –