【发布时间】:2018-10-12 09:22:19
【问题描述】:
例如,
std::vector<SomeNonCopyableType*> values = getVector();
auto &cvalues = reinterpret_cast<std::vector<const SomeNonCopyableType*>&>(values);
// use cvalues...
这在标准中当然是不允许的。 但是,除非它们是专门的,否则指向类型的常量不会对实现细节产生任何影响。在这种情况下,我是否可以认为这种转换实际上是安全的?
如果这是一个坏主意,是否有优雅的方法可以在不复制的情况下从指向非 const 的指针容器创建指向 const 的指针容器?
【问题讨论】:
标签: pointers containers reinterpret-cast