我跑到以下计划,请注意value
的{{1}}是参考map
-
(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()
析构函数,你能解释一下为什么吗?