常量映射和常量元素映射之间的区别
Difference between const map and map of const elements
这些地图之间有区别吗?什么时候应该使用它们中的每一个?
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
放在地图键上在很大程度上是没有意义的。
我不打算列举"何时应该使用每个";你为工作使用了正确的工具,并且有近乎无限数量的可能工作。
相关文章:
- 使用迭代器替换映射中的常量项的方法
- 将整型常量映射到类型
- 常量映射和常量元素映射之间的区别
- 如何常量映射变量
- 从另一个常量标准::映射初始化一个常量标准::映射的一部分
- 使用常量键但非常量值进行映射
- Swig:如何类型映射c ++字符串常量和python字符串?
- 将C++枚举映射为常量字符*
- 调用 size() 的常量映射<字符串,矢量<int>>导致错误
- 通过常量std::映射进行搜索
- 调整常量映射键
- 无法取消引用映射常量迭代器的mapped_type
- 如何将const_cast的const指针向量映射到非常量指针向量
- C++映射 - 表达式必须是整数常量表达式
- 静态常量 int 作为映射下标
- 从常量迭代器到映射向量,获取映射向量中映射元素的键和值
- C++常量,Boost无序映射,运算符[]
- 为什么只有非常量映射提供类似于关联数组的直接元素检索?
- 常量映射迭代器不会设置为 mymap.begin()
- 用于从常量映射中读取的惯用C++