这些地图之间有区别吗?什么时候应该使用它们?
const map<string, vector<unsigned char>> map1;
const map<const string, const vector<unsigned char>> map2;
const map<const string, const vector<const unsigned char>> map3;
map<const string, const vector<unsigned char>> map4;
map<const string, const vector<const unsigned char>> map5;
答案 0 :(得分:2)
拥有const
容器意味着该容器是不可变的。您无法更改。
拥有非const
容器意味着该容器是可变的。您可以更改它。
更改地图的意思是:添加到地图,修改其中包含的内容(如果它们本身是可变的),从地图中删除。
顺便说一下,putting const
on a map key is largely pointless。
我不会列举“何时应该使用它们”;您使用正确的工具完成工作,并且可能的工作数量几乎是无限的。