10

这种转换类型安全吗

vector<int*> a;
const vector<const int*>& b = reinterpret_cast<const vector<const int*>&>(a);

在这种情况下,静态转换显然不起作用,因为模板参数正在改变。但是通过重新解释演员表,我只是将 constness 添加到本质上相同的类型中。那么这对于所有实际目的来说应该是安全的吗?

4

1 回答 1

8

与将引用转换为不相关类型的任何使用一样reinterpret_cast,它提供未定义的行为,因此是不安全的,除非您将“安全”定义为“在我的编译器上工作”。

于 2012-09-05T11:16:48.713 回答