Моя программа C ++ использует много указателей файлов и имеет много возвратных операторов.
Чтобы избежать достижения оператора возврата без закрытия всех открытых указателей файлов, я написал этот класс, основываясь на предположении, что мне гарантируется, что все объекты «деструкторы» автоматически называются, когда достигаю обратного заявления. /> < /p>
Конструктор и деструктор в файле_поинтер.cpp < /i>
< /p>
File_pointer::File_pointer(string filename)
{
fptr.open(filename.c_str());
};
File_pointer::~File_pointer()
{
fptr.close();
};
< /code>
Пример реализации < /i>
< /p>
int main ()
{
File_pointer myfile("myfile.txt");
int x = 2;
switch(x)
{
case 1: return x;
case 2: return x;
default:
break;
};
return 0;
}
Подробнее здесь: https://stackoverflow.com/questions/106 ... his-good-c