Ответ 1
Все директивы #pragma
заставляют реализацию вести себя определенным образом.
Это не изменилось между С++ 03 и последним проектом С++ 0x (n3225.pdf). Включить защитные устройства - переносная альтернатива.
В названии говорится все. Для стандартизован #pragma once
? Я не знаю компилятора, который не обеспечивает его реализацию, почти всегда одну и ту же семантику и имя.
Все директивы #pragma
заставляют реализацию вести себя определенным образом.
Это не изменилось между С++ 03 и последним проектом С++ 0x (n3225.pdf). Включить защитные устройства - переносная альтернатива.
Компилятор Sun С++ (Solaris) не реализует его. И нет, это не в черновиках С++ 0x.
Это также тривиально реализовать с помощью #ifdef. Какой руководящий принцип для новой версии? Реализуйте все, что захотите, и кухонную раковину, или просто дайте вам минимальные инструменты для этого?