[解決済み] C++における二重否定
2022-06-11 01:07:05
質問
私はちょうど、かなり巨大なコードベースを持つプロジェクトに参加したところです。
私は主に C++ を扱っており、彼らが書くコードの多くは、ブーリアンロジックに二重否定を使用しています。
if (!!variable && (!!api.lookup("some-string"))) {
do_some_stuff();
}
こいつらが知能の高いプログラマーであることは知っている、偶然にやっているのではないことは明らかだ。
私は経験豊富な C++ の専門家ではありませんが、なぜこのようなことをしているのかを推測すると、評価される値が実際のブール表現であることを絶対に確認したいのでしょう。そのため、それを否定し、実際のブール値に戻すためにもう一度否定しています。
これは正しいのでしょうか、それとも何か見逃しているのでしょうか?
どのように解決するのですか?
boolに変換するのがコツです。
関連
-
[解決済み】Visual Studio 2015で「非標準の構文。'&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み】エラー:strcpyがこのスコープで宣言されていない
-
[解決済み】変数やフィールドがvoid宣言されている
-
[解決済み] スタックアロケーションにより初期化されていない値が作成された
-
[解決済み] C++11のT&&(ダブルアンパサンド)の意味とは?
-
[解決済み] floatとdoubleの違いは何ですか?
-
[解決済み] ダブルコロン「:」の意味を教えてください。
-
[解決済み] C++でdouble(またはfloat)がNaNかどうか確認する
-
[解決済み] cout を使って double 値を完全な精度で表示するにはどうすればよいですか?
-
[解決済み] Pythonでブール値の反対(ネゲーション)を得るには?
最新
-
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++でユーザー入力を待つ【重複あり
-
[解決済み] [Solved] Error C1083: Cannot open include file: 'stdafx.h'
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み】関数名の前に期待されるイニシャライザー
-
[解決済み】「corrupted size vs. prev_size」glibc エラーを理解する。
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み] gdbを使用してもデバッグシンボルが見つからない
-
[解決済み] 数値定数の前にunqualified-idを付けて、数値を定義することを期待する。
-
[解決済み】c++で.txtファイルから2次元の配列に読み込む