const映射和const元素映射之间的区别

时间:2019-12-09 14:41:01

标签: c++

这些地图之间有区别吗?什么时候应该使用它们?

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;

1 个答案:

答案 0 :(得分:2)

拥有const容器意味着该容器是不可变的。您无法更改。

拥有非const容器意味着该容器是可变的。您可以更改它。

更改地图的意思是:添加到地图,修改其中包含的内容(如果它们本身是可变的),从地图中删除。

顺便说一下,putting const on a map key is largely pointless

我不会列举“何时应该使用它们”;您使用正确的工具完成工作,并且可能的工作数量几乎是无限的。

相关问题