コピーの省略
C++プログラミングにおけるコピーの省略(コピーのしょうりゃく)とは、不必要なオブジェクトのコピーを除去するコンパイラ最適化技術のことである。C++言語標準は基本的に、出来上がったプログラムの表面上の動作が言語標準が義務付けた通りであれば、実装はどのような最適化を施しても良いとしている。(as-ifルール)
しかし、プログラムの動作が変更され得るにもかかわらず、それでもコピーが省略されうる状況を言語標準は幾つか挙げている。その中で最も有名なのが戻り値最適化であり、もう一つは、クラス型の一時オブジェクトが、同じ型のオブジェクトへとコピーされるときの最適化である。これも広く実装されており、C++言語標準で挙げられている。 結果的に、コピー初期化と直接初期化の間にパフォーマンス上の違いはないが、セマンティクス上ではそうではなく、コピー初期化にはアクセス可能なコピーコンストラクタが未だに必要である。 なお、参照に束縛されている一時オブジェクトは最適化されない。例: