問題タブ [comparison-operators]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
138 参照

php - PHP比較疑い

なぜそれは私に「本当」を与えているのですか?

0 投票する
2 に答える
259 参照

objective-c - Objective C では、if (object == nil) と if (nil == object) に違いはありますか?

私はに傾くだろう

しかし、いくつかのチュートリアルでの使用に気づきました

これは単なるスタイルの問題ですか、それともどちらかの形式を使用する正当な理由がありますか?

0 投票する
9 に答える
1185 参照

php - PHP で == の代わりに === を使用することの重要性!

===演算子を使用することの重要性に気付いたのは今日だけです。次の例で確認できます。

問題は、 ==演算子を使用する代わりに===演算子を使用することが重要な状況があるかということです。

0 投票する
4 に答える
956 参照

mysql - MySQL - "より大きい" の COUNT は速いのに、"より小さい" は永遠にかかるのはなぜですか?

そのクエリを実行すると一瞬かかりますが、比較演算子を切り替えると何百年もかかります。最初の方法ではカウント = 0、2 番目の方法ではカウント = 120000 ですが、テーブル全体をカウントすると、マイクロ秒もかかります。

しかし、クエリが終了した場合、その後は非常に高速に実行されるため、何か奇妙なことが起こっています。MySQL はクエリまたは何かをキャッシュしていますか? Web サイトがハングアップしないようにするためにキャッシュに依存したくありません。

これは無意味に思えます: 特定の日付よりも後のすべてをすばやくカウントできる場合、反対の日付をカウントするのになぜこれ以上時間がかかるのでしょうか? いずれにせよ、テーブル全体を見なければなりませんよね?また、返す必要があるのは数値だけなので、帯域幅は問題になりません。

クエリについて説明します。


編集:

これは興味深いかもしれません。クエリを実行すると、次の情報が見つかりました。

Handler_read_rnd_next:

  • 254436689 (未満の場合)
  • 2 (より大きい)

Key_read_requests: 314393 対 33 (より大きい値を使用する場合、33 はすべての統計の最大数です)

Handler_read_key: 104303 対 1

ビューをバイパスし、クエリをメイン テーブルで直接実行すると、速度が低下しなくなります。では、高速化するにはどうすればよいでしょうか。ビューは基本的に次のようになります。


解決済み: フランキーは私を正しい方向に導きました。2 番目の結合テーブル (会社テーブル) は、会社のフルテキスト名を介して結合されました。そのテーブルに整数キーを追加することにしたのはつい最近のことです。name 列はインデックス化されるはずでしたが、それを失敗した可能性があります。とにかく、私はすべてを再編成しました。メイン テーブルの外部キーを、完全な会社名ではなく会社テーブルの整数 ID に一致するように変換しました。各テーブルでこれらの列のインデックスを再作成し、新しい結合ポイントを反映するようにビューを更新しました。これで、両方向に即座に実行されます。:) だから、整数キーが鍵だったと思います。問題は解決しましたが、元の質問が本当に解決されたようには感じません。

助けてくれてありがとう。

0 投票する
2 に答える
3047 参照

c++ - タイプ 'float' への無効なキャスト

クラスに問題があります。クラスの比較演算子を作成します。
いくつかのコード:

クラス宣言:

問題は、次の行の operator < function でコンパイル エラーが発生したことです。

正しくは一部: (float) その他

エラーメッセージは次のとおりです。

問題の原因は何ですか?

0 投票する
5 に答える
15412 参照

c++ - クラスへのポインタに対してoperator==()をオーバーロードする方法は?

というクラスがありAStringます。それはかなり基本的です:

今、私はこのようなコードを書きたいです:

ただし、既存の比較演算子はサポートするだけです

そのアスタリスクを省略すると、コンパイラは不幸になります。

*AString比較演算子を比較できるようにする方法はありconst char*ますか?

0 投票する
1 に答える
341 参照

c++ - 基本クラスとしてのstd::rel_ops機能。それは適切な解決策ですか?

std :: rel_ops名前空間の機能をテンプレート基本クラスとして実装しました(演算子<および==のみを使用してすべての比較演算子を定義します)。私にとって、それが(これまでのところ)適切に機能するのは少し奇妙です。また、使用される「ハック」についても心配しています。誰かが次のコードを評価して、それがうまくいくのが幸運なのか、それともそのようなことをするのが標準的な習慣なのかを言うことができますか?

0 投票する
3 に答える
30119 参照

c++ - <演算子のみを使用して整数が範囲内にあるかどうかを確認する

与えられた整数が範囲の範囲内にあるかどうかをチェックするコードを考え出す必要があります。(範囲は整数のペアで表されます。)

したがって、rとして定義された範囲std::pair<int, int>とテスト整数が与えられた場合、次のnように言います。

if (n >= r.first && n <= r.second)

問題は、これを行うために比較ファンクターを使用する必要がstd::less<int>あるということです。つまり、より小さい演算子でしか作業できません。

私は同等の表現を考え出そうとしています。私はそれが正しいと確信していますが、完全に自信があるわけではありません。

私が思いついた表現は次のとおりです。

( !cmp(n, r.first) && !cmp(r.second, n) )

cmpのインスタンスはどこですかstd::less<int>

私はそれを正しくしましたか?

0 投票する
8 に答える
613 参照

c++ - 比較演算子

ばかげた質問かもしれません。文字列変数を使用して実行時に比較演算子を与える方法はありますか?
ベクトルに給与のデータがあるとします。

p>

上記のように与えられた入力。比較演算子を文字列strに格納します。str =(任意の比較演算子)。ifとswitchなしでこのようにチェックする方法はありますか?

p>

0 投票する
11 に答える
19907 参照

c# - C# Null 許容等価操作、null <= null が false として解決されるのはなぜですか?

なぜ.NETで

false として解決されますが、

true として解決しますか?

言い換えれば、なぜ とnull >= null同等ではないのnull > null || null == nullですか?

誰も公式の答えを持っていますか?