問題タブ [strict-weak-ordering]
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.
c++ - std::sort でのクラッシュ - 厳密な弱い順序付けを行わないソート
アイテムのベクトルを並べ替えようとしています。コードのコメントで述べたように、順序は次のようにする必要があります。
アクションポイント ( mAp
) が多い参加者が先に進みます。同点の場合はmDisposition
、バトルの開始者 ( ) と同じ性質 ( )の参加者がmBattleInitiator
先に進みます。
次のコード (簡略化された例) は、おそらく私の並べ替えの実装が正しくないために、macOS でクラッシュします。
このトピックに関する他の回答を調べました。彼らのほとんどは「a>bとして実装する」と言っているだけですが、私の場合はうまくいきません。関連しているように見えるが、私には役に立たないものがいくつかあります。
- https://stackoverflow.com/a/16824720/904422 - 他の標準アルゴリズムが機能すると述べていますが、具体的な例については言及していません
- https://stackoverflow.com/a/33508373/904422 - 紛らわしい、やり過ぎのようです
私が求めているものを達成する最も簡単な方法は何ですか?
c++ - なぜ同等の条件が必要なのですか?
C++ 標準ライブラリのコードについて質問があります。私の質問は!(p2.lastname() < p1.lastname())
、条件が姓が p1 と p2 に相当することを表していると思うので、必要ではないようです。条件を削除すると、コードは正常に動作するようです。この厳密な弱い順序付けを見ました。関連記事を読みましたが、コンセプトがよくわかりませんでした。条件が必要な理由を教えてください。