use*_*535 9 c++ const vector reinterpret-cast
这种转换类型是否安全?
vector<int*> a;
const vector<const int*>& b = reinterpret_cast<const vector<const int*>&>(a);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,静态转换显然不起作用,因为模板参数正在改变.但是通过这个重新解释演员,我只是将constness添加到基本相同的类型.那么这对所有实际目的来说都是安全的吗?
就像reinterpret_cast将引用转换为不相关的类型一样,它会给出未定义的行为,因此除非你将"safe"定义为"在我的编译器上工作",否则不安全.