Parashiftは初期化リストについて詳しく説明していますが、ctor本体で割り当てる前に変数の追加コピーが作成される理由については説明していませんが、初期化リストを介して割り当てた場合、追加コピーは作成されません。
前者は代入前の一時的なiの作成を回避するため、i++の代わりに++iを使用するというアドバイスにも出くわしました。コンストラクター本体に割り当てられたPODについても同じですか?割り当てが行われる前に一時変数が作成されますか?
別の言い方をすれば、コンパイラが変数の追加コピーを作成する必要があるのはなぜですか?変数を直接割り当てることができないのはなぜですか?
なんで?