c++类成员指针变量使用心得

shared_ptr要求必须初始化。这样当对象复制之后,智能指针指向了同一片内存,引用自动计数,析构没有问题。但在不同进程间复制的时候会出现问题。不同进程指向了同一片内存。

如果不使用智能指针。使用普通指针,初始化为空。在程序开始时复制的都是空指针,不同进程间复制没有问题。但是一旦调用过函数,指针申请了内存,这时候再复制对象,依然是指向同一片区域,在析构时造成内存重复释放的问题。
另一方面,禁用复制构造函数,py boost在导出时会出现问题。

这个问题暂时无解,不过好在现在都是简单使用,类的实例都是在调用之前复制,复制是空指针,调用之后不会多次复制,这样每个实例调用之后都指向一片新申请的内存,暂时没有内存释放的问题。

你可能感兴趣的:(编程设计)