Попался мне такой короткий код, который пытается читать из файла число, и если не может, то пишет туда то, что было в переменной (предполагается, что она проинициализирована):
bool ok = ifstream(filename) >> i;
if (!ok) ok = ofstream(filename) << i;
Но правильный ли он? Вопрос вызывает вторая строчка. Если мне память не изменяет, стримы в плюсах буферизированные, и запись в файл произойдет если мы вызовем close()
, flush()
, или напишем << endl
. Не будет ли такого, что ok
у нас окажется true
, но в момент вызова деструктора стрим не сможет записать в файл данные, потому что, например, нет прав на запись в этот файл?
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Нужно что бы два потока параллельно печатали на экран(Первый поток печатает числа 1,2,3
Вопрос на засыпку, кто знает, можно ли перехватить MyException1 в func3?