gpt4 book ai didi

c++ - 模板中的 pimpl 成语;哪个智能指针?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:07:34 26 4
gpt4 key购买 nike

我通常为 pimpl 使用 boost::scoped_ptr(出于一个原因,因为如果我忘记处理复制构造函数,我不会感到惊讶)

然而,对于模板,我不能只将析构函数放在完全定义了 impl 的 cpp 文件中,以满足 scoped_ptr 的析构函数的要求。无论如何它确实有效,但我不确定它是否保证有效或只是偶然。是否有一些“最佳实践”或标准? scoped_ptr 是不可复制类中 pimpls 的最佳智能指针吗?

template <class T> class C {
public:
C(){}
~C(){}
private:
boost::scoped_ptr<T> pimpl_;
};

最佳答案

碰巧 Herb Sutter 在时隔很长一段时间后又开始写他的 GotWs。第一个新的与“编译防火墙”有关。

你可能想看看:

GotW #100: Compilation Firewalls (Difficulty: 6/10)

GotW #101: Compilation Firewalls, Part 2 (Difficulty: 8/10)

关于c++ - 模板中的 pimpl 成语;哪个智能指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8386491/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com