Ввод/вывод в конструкторах и деструкторах C++
Когда-то столкнулся с "неадекватным" поведением вывода в консоль из конструктора. Типа вывод в конструкторе добавлен, а в итоге в релизной сборке мы его не видим. Тогда же разбирались и вроде как нашли какой-то пункт стандарта, который говорил о том, что в конструкторах нельзя иметь никаких побочных эффектов. Что позволяло, к примеру, сделать "copy elision" и тому подобное.
Подскажите, пожалуйста, какой пункт стандарта регулирует этот вопрос?
То же про деструкторы.
Правда ли, что в конструкторах и деструкторах нельзя ничего выводить на экран, или этот вывод не будет гарантирован стандартом?
Интересует именно вопрос с точки зрения стандарта, а не "как реально работает", потому что может так оказаться, что в 99% вариантов оно всё сработает, а проблемы появятся при специфичных условиях.