こちらの記事でvectorのpush_backするとヒープ領域に確保されるとあったが、 std::mapが要素を増やす際もヒープ領域に確保される。
開放はvectorと同じように開放できる。
#include <iostream> #include <map> int main(int argc, char *argv[]) { std::map<int, float> mp; // ローカル変数として、mp を生成 mp[0] = 0.0f; mp[1] = 0.0f; mp[2] = 0.0f; mp.clear(); std::map<int, float>(mp).swap(mp);//ここでヒープ領域を開放 return 0; }