感觉很适合移动语义啊
实现个 move ctor
~Obj() {
if (data_) {
release(data_);
data_ = nullptr;
}
}
Obj(Obj&& o) {
data_ = o.data_;
o.data_ = nullptr;
.....
}
Obj b(std::move(a));
【 在 bihai 的大作中提到: 】
: 代码库里有个类A,构造函数要传入一个资源R。但是,传入的资源挺有用的。有的时候想销毁A的时候取出R,再次使用在另一个类B中。但是咋做呢?A的析构函数没有返回值啊。
: 那么,就得写一个函数,把R拿出来,然后把A标记为不能用了。
: 有没有办法给C++标准里加入不同的析构函数,来获取原来构造时传入的资源?
: ...................
--
FROM 125.168.119.*