C++接口设计原理中二重指针的应用

C++接口设计原理中二重指针的应用

二重指针的重要用途主要有三大块,一是对象深度克隆(Object Deep-Clone)算法,二是C++接口设计(C++ Interface)的实现,三是OOP在内存池(Memory Disk)的实现技术中的应用。指针的本身都是一个内存地址,是一个整型数字,对于取指针指向的地址的值的情况,指针的类型可以任意转换。对于指针偏移计算,特别是把指针当数组用的情况,如果忘记偏移计算之前必须把指针的类型转称到它指向的对象的类型,偏移的错误会导致偏移后的指针取出来的对象的值是错误的。指针类型直接决定指针偏移的运算量。指针当做数组用的做法存在隐式的指针偏移量的计算。很多人没有注意到这个细节,这一粗心导致一系列的内存访问错误。正是利用指针本身都是一个内存地址的特性,可以用父类型的指针取派生类型的对象的值,这也是C++接口设计的原理之一。

猜你喜欢

转载自blog.csdn.net/caoshiying/article/details/79754260