問題タブ [nrvo]
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++ - 変数が関数によって返されるオブジェクトに割り当てられている場合、そのオブジェクトはコピーまたはインプレースで作成されますか?
クラス外のオブジェクトを初期化するために、CPPファイルにこのようなものがあります。私はそれを単純化しましたが、要点は複雑な初期化が行われているということですが、単一のインスタンスを作成したいのです:
私の質問は、コンパイラの巧妙さのために、このオブジェクトがコピーさret
れたり、インプレースで作成されたりすることですか? o
「その場で作成された」という適切な用語があるかもしれません-定置?
適切であれば、私は C++17 で作業しています (つまり、答えは言語のバージョンによって異なります)。明確な答えはありますか、それともコンパイラ固有の最適化でしょうか?