作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有如下内容:
map<int, StructType> map;
const map<int, StructType>& GetMap() { return map; }
我想按照这些思路做一些事情:
const map<int, const StructType>& GetConstMap() { return map; }
有什么方法可以将这个const
-ness 添加到映射的值类型中吗?
最佳答案
std::map
的界面被设计成const map<K,T>
通过从不公开对其元素的非常量访问,有效地具有 const 值类型。
因此您不能通过 const map
添加、删除或修改元素引用。
所以:
struct X
{
map<int, StructType> m;
const map<int, StructType>& GetConstMap() const { return m; }
}
就是你想要的。
关于c++ - 我可以将具有非常量值类型的映射转换为具有常量值类型的映射吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16155585/
我是一名优秀的程序员,十分优秀!