08/06/18 17:35:28
レスありがとうございます。
クラスintlの定義を変えて
class intl{
public:
int *il;
void setil(int &i){*il=i;}
};
とした場合はやはりdelete後もilが残り、
class intl{
public:
int *il;
void setil(int &i){il=&i;}
};
とした場合はdeleteによってilも消えるようです。
>>144によれば、iが参照渡しでかつilがポインタであっても
*il = i;
の場合はiのコピーが渡されるということのようですね…。
この場合、il自身はインスタンスi_intlが消えるまで生き残るということですよね?
うーん、ややこしい気がする…。