問題タブ [assignment-operator]
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++ - プライベートコピーコンストラクタを持つクラスのC++ stlベクトル?
私たちのコードには class と言うクラスがありC
ます。class のオブジェクトのベクトルを作成したいと思いますC
。ただし、コピー コンストラクターと代入演算子の両方が、意図的に と宣言されていますprivate
。私はそれを変更したくありません (そしておそらく許可されていません)。
を使用/定義する他のクリーンな方法はありますvector<C>
か?
c++ - 参照が存在する場合の代入演算子とコピー コンストラクター
私はちょうどこのコードを使用して参照を試しています:
どちらもB b1 = b;
エラーになると思っていました。代わりに、VS2008 でコンパイルすると、警告が表示されます
警告 C4512: 'B': 代入演算子を生成できませんでした
この警告が表示される理由を理解しています。B b1 = b;
しかし、コンパイラもステートメントに対してエラーを生成するべきではありませんか? コピーコンストラクターを生成したが、代入演算子を生成しなかったようなものです。この 2 つは本質的に互いにリンクしていませんか? もう一方が生成できなかったときに、そのうちの 1 つだけのデフォルト実装を生成することは理にかなっていますか?
c# - C# に ||= または &&= 演算子がないのはなぜですか?
すべての論理演算子、シフト演算子、加法演算子、およびすべての乗法演算子に相当する代入演算子があります。
論理演算子が除外されたのはなぜですか? それが難しい理由は技術的な理由ですか?
php - php: $a=$b OR $a=$c 対 3 進数
最初の変数が (bool)false または未定義の場合は、2 番目の変数の値を使用して、2 つの変数のいずれかを 3 番目の変数に割り当てる必要があります。
私は通常、次のように三項表記を使用してこれを行います。
しかし、$foo 変数名が非常に長い場合、この表記法で繰り返す必要があるため、これはあまりきれいではありません。
私の質問は今、この表記法を使用するのと同じくらい良いですか?
この表記法は 3 進バージョンと互換性がありますか?
assignment-operator - 代入に、変数の値として代入される条件が含まれている場合、それは何と呼ばれますか?
これは簡単な用語であることは知っていますが、Google 検索では取得できません... 割り当てられている変数の値が通過するときに何と呼ばれますか?
PHP での例:
JavaScript での例:
c++ - C ++ベクトル、並べ替え、カスタムクラス演算子
自分のバグ/問題がどこにあるのかわからないので困惑しています。2つのカスタム演算子、1つの割り当てと1つの比較演算子を使用するクラスInstructionがあります。以前は、std :: sortを使用して、メンバーの1つであるstd :: string nameに基づいて命令をソートするために、比較演算子のみを使用していました。ただし、プロジェクト全体のリファクタリングを開始したため、一部のメンバーを定数に変更しました。これにより、これらの定数に初期化リストを使用する必要がありました。これにより、代入演算子を作成する必要があります。これらの命令は、ベクトルにプッシュバックされるときにコピーされるためです。これはすべてがうまくいかないところです。クラス宣言とコンストラクターと演算子を含めます。
Instruction.hpp
Instruction.cpp:
代入演算子を作成した唯一の理由(正直なところ、これまでに作成したことはありません)は、命令をプッシュバックしようとしたときに、コンパイラが「ここから」命令をインスタンス化できないと文句を言ったためです。定数メンバーで行います。メンバーが一定でなくても、並べ替えもすべて正常に機能しました。今、奇妙な部分。std :: sortを削除すると、上記のコードは機能しますが、常に機能するわけではありません。しばらくするとクラッシュすることもあれば、クラッシュしないこともあります。しかし、並べ替えを含めると、すぐにクラッシュします。誰か助けてもらえますか?
c++ - シングルトンクラスで代入演算子を民営化する必要性
シングルトンクラスの実装で代入演算子を民営化する必要性を誰かが正当化できますか?
Singleton& operator=(Singleton const&);
プライベートにすることでどのような問題が解決しますか?
c++ - 不変クラスの代入演算子を慣用的に定義する方法は?
C++ では、operator=
不変であるべきクラスで定義する慣用的な方法は何ですか。たとえば、すべてのメンバー変数はconst
.
ここで、実行時に ed されるbytes
メモリ ブロックへのポインタです。malloc
空の代入演算子を定義するか、明らかに失敗する自動生成された演算子を使用しますか?
いくつかの選択したクラスで単一の割り当てセマンティクスを実装および適用しようとしています。
c++ - ポインター基底クラスを使用した = 演算子によるポリモーフィズム
これが契約です。使用しているパターンに関して別のルートに進む必要があると思いますが、最初に専門家の意見を得ると思いました.
基本クラス ポインターの動的リストを保持するクラス (UsingClass) があります。リストに新しいオブジェクトを追加するときは、それがどのタイプのオブジェクトであるかを把握する必要があります。これは、ポリモーフィックな方法で実際に機能させることができないためです。以下の行には、「これは私が望むようには機能しません!!」というタグが付けられています。興味のある Derived クラスから =operator をポリモーフィックに使用するのが理想的ですが、残念ながら Base クラスのデフォルトの =operator しか使用しません。独自のデータメンバー)、しかし、派生クラスに両方に共通のメンバーを保持させたくありません (おそらく、餌を切ってそれを行う必要があるかもしれません)。
完全に間違ったパターンを使用している可能性があると思いますが、どの代替案を検討すべきかわかりません。
コードが必ずしもコンパイルされるとは限りませんが、私と一緒に作業してください。前もって感謝します!
c++ - コピーと割り当てによる C++ Qt リフレクション
ドキュメントや他のQObject
多くの人が説明しているように、 aはQObject
アイデンティティを持っているため、コピーコンストラクタと代入演算子を隠しています。
QObject
ただし、動的プロパティ機能またはシグナル/スロット機能から派生したものではありません。リフレクション、または にアクセスする機能のみが必要ですFoo::staticMetaObject
。
私はそれからコピーできませんFoo
:
この場合、コピーと割り当てを許可する最善の方法は何ですか? コピー コンストラクターと代入演算子を必ず記述する必要がありますか? 彼らはどのように見えるでしょうか?リフレクションは機能しますか?