这种转换类型是否安全
vector<int*> a;
const vector<const int*>& b = reinterpret_cast<const vector<const int*>&>(a);
在这种情况下静态转换显然不起作用,因为模板参数正在改变。但是通过这个重新解释演员,我只是将constness添加到基本相同的类型。那么这对所有实际目的来说都是安全的吗?
答案 0 :(得分:7)
就像使用reinterpret_cast
将引用转换为不相关类型一样,它会给出未定义的行为,因此除非您将“safe”定义为“适用于我的编译器”,否则不安全。