我试图使用for循环向地图添加键值:
std::map< std::pair<const int &, const int &>, double> mymap;
for(int i=0;i<3;i++){
mymap[std::make_pair(i,i+1)]=0.1*i;
}
std::cout<<mymap.size()<<std::endl;
Run Code Online (Sandbox Code Playgroud)
我不明白为什么大小mymap只是1.我希望3的大小.我在哪里弄错了?非常感谢.
用std::pair<int, int>而不是std::pair<const int&, const int&>.
const int&是一个参考(而不是价值).由于i每次都有相同的位置,并且可以使用相同的临时位置i+1,这意味着您每次都可以使用相同的对.