問題タブ [ref-qualifier]

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 投票する
1 に答える
63 参照

c++ - 演算子のオーバーロードで cv-qualifier と一緒に ref-qualifier を使用すると、右辺値の代入が許可されるのはなぜですか?

演算子に参照修飾子を追加すると、右辺値代入を行う可能性がなくなります

たとえば、次のようにコンパイルしますg++ -std=c++14 bar.cpp && ./a.out

あなたにあげます

もちろん、明示的に追加することでこれを「修正」できます&&

出力

ただし、 a を追加すると、構造体インスタンスconst &を呼び出すこともできます。+=

出力

これを「修正」するには、const &&明示的に削除する必要があります

出力

どうしてこれなの?ref-qualifier を追加すると、右辺値の割り当てが暗黙的に削除されるのはなぜですか? しかし、ref-qualifier と一緒に cv-qualifier を追加すると、暗黙的に右辺値の割り当てが追加されるように見えますか?

ここで明らかな何かが欠けていると確信しています。しかし、Google-Wan Kenobi は、私が理解するのを助けることができないようです.