-3

私は非常に混乱しています。なぜこれが機能するのですか:

double doubleValue = 20;
NcVar variable = {some process obtaining an instance}
map<NcVar,double> th;
th.insert(std::make_pair(variable, doubleValue));

これは失敗します:

double doubleValue = 20;
NcVar variable = {some process obtaining an instance}
map<NcVar,double> *th = new map<NcVar,double>();
th->insert(std::make_pair(variable, doubleValue));

つまり、最初のバリアントは 1 つのキーと値のペアで終わり、2 番目のバリアントはマップを変更しない (0 エントリ) ということですか?

4

2 に答える 2