Я знаю, что BOOL является на самом деле определением типа символа со знаком, но что относительно булевской переменной?
Каково различие между bool, булевской переменной и BOOL?
Boolean
- это старое ключевое слово Carbon (исторический тип Mac), определенное как unsigned char
. BOOL
- это тип Objective-C, определенный как знаковый символ
. bool
- это определенная версия стандартного типа C _Bool
. Он определяется как int
. Используйте BOOL
.
Edit (2019): Apple говорит о базовой реализации BOOL
в некоторой новой документации . По сути, в macOS BOOL
по-прежнему является подписанным символом
, но на iOS и родственных платформах это нативный C bool
внизу.