Это для условной компиляции, поэтому вы можете включать или удалять биты кода на основе атрибутов проекта, которые, как правило, составляют:
- Предполагаемая платформа (Windows / Linux / XB360 / PS3 / Iphone .... и т. Д.)
- Release или Debug (Как правило, регистрация, утверждения и т. Д. Включены только в отладочную сборку)
Они также могут быть использованы для быстрого отключения больших частей системы,
например, при разработке игры я мог бы определить
#define PLAYSOUNDS
, а затем заверните последний вызов, чтобы воспроизвести звук:
#ifdef PLAYSOUNDS
// Do lots of funk to play a sound
return true;
#else
return true;
Так что мне очень легко включать и выключать воспроизведение звуков для билда. (Обычно я не играю звуки при отладке, потому что это мешает моей личной музыке :))
Преимущество заключается в том, что вы не вводите ветку путем добавления оператора if ....