>>144
関数の戻り値は結局143の話と同じ。変数が関数の戻り値に置き換わっただけ。
関数定義の時、仮引数はブロックの頭で宣言された変数という扱いで、そこへ実引数を元にコピーコンストラクタが起こる。
あんまり神経質にならなくてもコピーコンストラクタかoperator =()のどっちかが呼ばれると思っておけばいい。