Objective-C の BOOL は unsigned char の typedef であり、YES & NO キーワードはエンコードされた文字であると言われました。聞いたのはこれが初めてではありません。これは、C 標準が _Bool 型を提供する前に Apple が BOOL を使用したためだと読みましたが、間違っていますか? その事実の利点はありますか?メモリのビットを無駄にしていますか? これは、関数で貴重なデータを返す方法を提供しますか? 予期しない動作が発生したときに別の値を返す方法として使用するのは正しいでしょうか?
BOOL myFunction(int argument)
{
BOOL result = YES; //The function generates the result
if (someError == YES) {
return 5;
}
return result;
}