[解決済み】Objective-C:BOOLとboolの比較
2022-04-14 14:52:13
質問
新型を見ました。
BOOL
(
YES
,
NO
).
この型はほとんどcharのようなものだと読みました。
テストのために、私は:
NSLog(@"Size of BOOL %d", sizeof(BOOL));
NSLog(@"Size of bool %d", sizeof(bool));
両方のログに "1" が表示されるのは良いことです (C++ では bool は int で、その sizeof は 4 であることがあります)。
ということで、bool型に何か問題があるのかと思っていたのですが、どうなんでしょう?
速度を落とさずにbool(使えそうなもの)だけでいいのでしょうか?
どのように解決するのですか?
の定義から
objc.h
:
#if (TARGET_OS_IPHONE && __LP64__) || TARGET_OS_WATCH
typedef bool BOOL;
#else
typedef signed char BOOL;
// BOOL is explicitly signed so @encode(BOOL) == "c" rather than "C"
// even if -funsigned-char is used.
#endif
#define YES ((BOOL)1)
#define NO ((BOOL)0)
そう、BOOLはcharと仮定していいんですね。あなたは、(C99)の
bool
しかし、Apple の Objective-C フレームワークとほとんどの Objective-C/Cocoa コードでは BOOL を使っているので、BOOL を使っておけば、型定義が変更されたときに頭痛の種にならずにすみます。
関連
-
[C] レポートエラー 代入の左オペランドとしてlvalueが必要
-
[解決済み] C#のbool型とBoolean型の違いとは?
-
[解決済み] Objective-CでNSStringsを連結するためのショートカット集
-
[解決済み] Objective-Cの定数
-
C++の配列コピー
-
[解決済み] Objective-Cで乱数を発生させる
-
[解決済み] Objective-Cで、ある文字列が他の文字列を含んでいるかどうかを調べるにはどうすればよいですか?
-
[解決済み] Objective-Cのtypedef enumとは何ですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み】boolのprintfフォーマット指定子とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
構造体の配列--[エラー] '['トークンの前に一次式があることが予想される
-
[C] Error [Error] 代入の左オペランドとして lvalue が必要です。
-
[解決済み] ⑭と⑯は何のためにあるのですか?
-
[解決済み] 難読化Cコードコンテスト2006。sykes2.cの解説をお願いします。
-
[解決済み] C言語でランダムなint型を生成するには?
-
[解決済み] C言語のi++と++iに性能差はあるのでしょうか?
-
[解決済み] FortranはC言語よりも重い計算を最適化しやすいですか?
-
[解決済み] C言語の構造体(CGRectやCGPointなど)をNSLog化することは可能ですか?
-
[解決済み] 2次元配列の反復処理において、ループの順序がパフォーマンスに影響するのはなぜですか?
-
[解決済み] objective-cのYES/NO,TRUE/FALSEと真偽の差はあるのか?