value
私は次のプログラムに実行します、のmap
はrefであることに注意してください(ClassA&)
-
#include <iostream>
#include <map>
using namespace std ;
class ClassA {
public :
ClassA () { cout<<"Hay ! "<<endl ; }
~ClassA () { cout<<"Bye ! "<<endl ; }
} ;
int main () {
map< string,ClassA& > myMap ;
ClassA a ;
myMap.insert( pair<string,ClassA&>("A",a) ) ;
myMap.clear() ;
}
そして出力を取得します-
Hay !
Bye !
myMap.clear()
影響を受けていない ようClassA
ですが、デストラクタを呼び出す人はもういません。理由を説明していただけますか?