struct c
{
c(){cout << "c ctor" << endl ;}
//c( const c &obj ){cout << "c copy ctor" << endl ;}
~c(){cout << "c dtor" << endl ;}
} ;

c func( c obj )
{
cout << "func" << endl ;
return (obj) ;
}
で
func( c() ) ;
と実行すると
c ctor
func
c dtor
c dtor
c dtor

//をとってコピーコンストラクタを実装すると
c ctor
func
c copy ctor
c dtor
c dtor

コピーコンストラクタの定義の有無で
デストラクタの呼び出し回数が変わるものなのでしょうか?