假设X<T>
是一个以类为参数的模板类,A
并且B
是从不涉及多重继承或虚拟继承的情况下B
派生的类(即在andA
之间进行转换时不需要调整指针)。A
B
X<A*>
从to执行电锯重新解释转换是否安全X<B*>
?反之亦然?当然, aX<A*>
是 no X<B*>
,但是这些类不应该总是共享相同的行为吗?因为使用了指针,所以内存布局应该是相等的。因此,让方法对X<B*>
实际上是X<A*>
.
当然,这会以某种方式破坏类型安全,因为我可以将一个元素插入A*
到 anX<B*>
中,但这超出了这个问题的范围。