Разве `#pragma once` превратил его в С++ 0x?

В названии говорится все. Для стандартизован #pragma once? Я не знаю компилятора, который не обеспечивает его реализацию, почти всегда одну и ту же семантику и имя.

Ответ 1

Все директивы #pragma заставляют реализацию вести себя определенным образом.

Это не изменилось между С++ 03 и последним проектом С++ 0x (n3225.pdf). Включить защитные устройства - переносная альтернатива.

Ответ 2

Компилятор Sun С++ (Solaris) не реализует его. И нет, это не в черновиках С++ 0x.

Ответ 3

Это также тривиально реализовать с помощью #ifdef. Какой руководящий принцип для новой версии? Реализуйте все, что захотите, и кухонную раковину, или просто дайте вам минимальные инструменты для этого?