首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Effective C++:规定27:尽量少做动作的过渡

(3)reinterpret_cast(expression):试图运行低级转型(比如一个指向整数变量的指针转换为整数),实际动作及结果可能与编译器相关,因而减少了可移植性。...{...}; class Derived : public Base{...}; Derived d; Base* pb = &d;//隐喻的derived*转换成Base* 在这里表明:单一的对象可能拥有一个以上的地址...这里我们仅仅是建立一个base class指针指向一个derived class对象,但有时候上述的两个指针值并不同样。...这样的情况下会有个偏移量offset在执行期被施行于Derived*指针身上,用于取得正确的Base*指针值。 实际上一旦使用多重继承,这事差点儿一直发生.即使在单一继承中也可能发生.恐怖!...第一种方法: 使用容器并在当中存储直接指向derived class对象的指针(一般是智能指针)如此便消除了“通过base class接口处理对象”的须要。

22520
领券