LINUX.ORG.RU

Флаги включения


0

0

Вот не пойму, зачем все программеры, те троллтеки, например исползуют флаги включения в стиле

#IFNDEF FOO_H
#DEFINE FOO_H

// code here

#ENDIF /* FOO_H */

когда можно просто написать

#pragma once

в начале файла и не париться?

★★

Сорри за очепятки, как всегда моя торопливость взяла верх =)

DiKeert ★★
() автор топика

Программеры любят решать несуществующие проблемы, поскольку это проще чем решать существующие. Особенно это относится к программистам на таком языке как С++.

Absurd ★★★
()

Этот #pragma once разве стандартизирован? AFAIK, нет. Поэтому "троллтеки и все программеры" правильно делают, что не пишут так.

smh ★★★
()

Реализация директив #pragma не стандартизирована, и в одном компиляторе может обозначать совсем не то, что в другом. А Qt собирается как минимум GCC и MSVC.

one_more_hokum ★★★
()
Ответ на: комментарий от Absurd

Поэтому я и говорю "в основном". Опять же Qt поддерживает не только MSVC и GCC.

mannaz
()

А можно вообще не парится со всякими #pragma once, а просто вместо #include писать #import. Да специфично для GCC.

Begemoth ★★★★★
()

да,очень хотелось бы, чтобы было что-то попроще IFNDEF-DEFINE-ENDIF
а лучше бы, чтобы препроцессор сам за этим следил (можно даже сделать это опционально)

xydo ★★
()

Все это звучит убедительно.
/me пошел править свои проекты и ждать когда #pragma once стандартизируют.

DiKeert ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.