常量映射和常量元素映射之间的区别

Difference between const map and map of const elements

本文关键字:常量 映射 区别 元素 之间      更新时间:2023-10-16

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

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;

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

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

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

顺便说一下,将const放在地图键上在很大程度上是没有意义的。

我不打算列举"何时应该使用每个";你为工作使用了正确的工具,并且有近乎无限数量的可能工作。