mpd

Не забыть: bad_cast, flush, sync

Nov 23, 2012 19:20

bad_cast
Из стандарта, 5.2.7. Dynamic cast:The value of a failed cast to pointer type is the null pointer value of the required result type. A failed cast to reference type throws std::bad_cast (18.7.2).
flush
Если вы что-то выводите - ещё не факт, что это сразу свалится куда нужно. В частности, если это сделали перед fork(), то это приведёт к тому, что строка, печатаемая функцией из семейства print - будет распечатана в обоих процессах. Никакой '\n' в выводимой строке (в отличии от std::endl) не приведёт к имплицитному вызову flush(). С другой стороны, если вызвали fclose() - там явно написано, что flush будет, а в соответствующей close() - такого не нашёл.sync
Старый добрый sync(). Он всесилен! :-)

plain c, c++, linux, posix, история

Previous post Next post
Up