[解決済み] A() = A() - なぜコンパイルできるのか?
2023-06-22 10:59:22
疑問点
class A {};
int main() {
A() = A();
return 0;
}
なぜこのコードはコンパイルできるのでしょうか?代入演算子の左側にはlvalueが置かれるはずですが、エラーにならないのでしょうか?A()はlvalueですか? g++ 4.7版
どのように解決するのですか?
組み込み型については、あなたは正しいでしょう:組み込みの代入演算子は、変更可能な lvalue を左手に必要とします。
しかし、これは組み込みの演算子ではなく、クラスが暗黙のうちに宣言しているオーバーロードを使用しています。これはメンバ関数で、次のものと同等です。
A().operator=(A());
であり、メンバ関数を呼び出すことができるのは rvalues .
関連
-
[解決済み】Cygwin Make bash コマンドが見つかりません。
-
[解決済み] explicit キーワードの意味は?
-
[解決済み] using namespace std;」はなぜバッドプラクティスだと言われるのですか?
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] 0.1fを0にすると、なぜ10倍もパフォーマンスが落ちるのですか?
-
[解決済み] CとC++でmain()は何を返すべきですか?
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み】高放射能環境下で使用するアプリケーションのコンパイルについて
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
-
[解決済み】'?:'の戻り値型 (三項条件演算子)
最新
-
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 実装 サイバーパンク風ボタン