2010-12-05 2 views
1

Когда я пишу функцию в C, которая также может оказаться полезной в контексте C++, должен ли я использовать макрос bool или нет? Может ли это привести к проблемам совместимости, на C и C++ оба определяют тип bool (ну, C befines _Bool, но вы знаете, что я имею в виду :-))?bool и совместимость с C/C++

ответ

4

Почему бы не использовать int? Это всегда должным образом поддерживается.

Единственная причина для использования bool - если вы точно знали, что ваш код будет использоваться только в современных средах C и C++. Но если бы у него был какой-то шанс, ему пришлось бы запускать какой-то старый устаревший компилятор, возможно, для неясного встроенного процессора, кто-то должен был бы вставлять макросы и массировать код.

0

Если вы очень заинтересованы в сохранении памяти, вы можете использовать символ вместо этого.