将std::pair<T1,T2>&
投射到std::pair<const T1,T2>&
的标准是否正确?
我有一些自定义的地图对象,其内部键值对保持为std::pair<Key,Value>
。
我想用迭代器迭代地图的可能性,
有可能改变价值,但不是关键。
使用VC ++尝试static_cast
类型pair<K,V>&
到pair<const K,V>&
失败。
我可以用reinterpret_cast
技巧做到这一点,但我想知道它是否符合标准。
如果没有,是否有可能将pair<K,V>&
公开为不需要重写的pair<const K,V>&
班级 ?