pimpl-idiom

pimpl-idiom

文章 0 浏览 4

pimpl 用于模板化类

我想使用 pimpl 习惯用法来避免我的库的用户需要我们的外部依赖项(如 boost 等),但是当我的类模板化时,这似乎是不可能的,因为方法必须位于标头中…

-小熊_ 2024-12-11 17:36:29 1 0

避免泄漏 C++ 中的外部类型班级

我在标头中定义了一个类,如下所示(缩写): class CairoRenderer { public: CairoRenderer(); ~CairoRenderer(); ... protected: cairo_t* m_contex…

橘虞初梦 2024-12-09 22:15:56 1 0

PIMPL、POD、实现类的可见性,它的析构函数会被调用吗?

维基百科声称,在 有关不透明指针的文章中,那个 d 指针是类的唯一私有数据成员,指向结构体的实例(该结构体必须是 POD,因为它的析构函数不可见) …

两仪 2024-11-30 17:23:25 1 0

Pimpl 习惯用法和内部对象协作,无需友元声明

我正在使用 pimpl 习惯用法实现几个类,并且遇到了一些设计问题。 首先,我总是看到 pimpl 这样做 class Object { public: Visible(); ~Visible(); ..…

甜味拾荒者 2024-11-17 03:29:50 3 0

C++ Code Complete 关于封装的建议?

在《Code Complete》中的“良好封装”部分中,建议隐藏私有实现细节。在 C++ 中给出了一个例子。这个想法基本上是将接口与实现完全分离,即使在类级别…

梓梦 2024-11-15 07:13:25 6 0

pimpl 中的方法是内联的吗?

考虑下一个简单的例子: 标题: // a.hpp #ifndef A_HPP #define A_HPP #include class A { public: A(); int foo(); private: struct Imp; std::auto…

倚栏听风 2024-11-14 04:56:17 2 0

隐藏一个 C++标头中的类而不使用未命名的命名空间

我正在编写一个 C++ 标头,其中定义了一个 class A { // ... }; 我想对外界隐藏的标头(因为它可能会在该标头的未来版本中更改甚至被删除)。 在同一…

欢你一世 2024-11-03 09:39:43 7 0

如何正确包装第三方库结构?

在我的项目中,我使用不断变化的第三方库。我有这个库的包装类(桥模式+ Pimpl 模式)。因此,除了包装器实现之外,我的所有来源都没有看到该库。 该…

奶茶白久 2024-11-03 09:27:07 7 0

pimpl 与匿名命名空间兼容吗?

我正在尝试使用 pimpl 模式并在匿名命名空间中定义实现类。这在 C++ 中可能吗?我的失败尝试如下所述。 是否可以在不将实现移动到具有名称(或全局名…

空心空情空意 2024-11-02 20:53:22 6 0

请求 Pimpl 框架意见/建议

我基本上已经实施了一个提案,我的问题是,它已经完成了吗?如果完成了,在哪里?和/或有更好的方法来做我正在做的事情吗?抱歉这篇文章的长度,除了…

剧终人散尽 2024-11-02 02:04:01 4 0

pimpl:避免使用 pimpl 指向指针

在这个问题中,我问“pimpl:shared_ptr或unique_ptr”我一直在确信 pimpl 习惯用法的正确用法是使用 unique_ptr,而不是 shared_ptr。它应该对用户来…

北恋 2024-10-30 19:03:05 5 0

如何从类定义中省略私有非虚拟方法?

假设我有如下内容: a.hpp: class B; class A { private: std::unique_ptr b_; } a.cpp: #include struct B { something_complicated x; } something_…

貪欢 2024-10-30 17:29:47 9 0

c++ pimpl idiom :根据模板参数实现

在 这个问题中,我没有成功地询问如何使用不同的 pimpl 实现,具体取决于模板参数。 也许这个例子更好地说明了我正在尝试做的事情: #include templat…

回忆追雨的时光 2024-10-26 04:53:08 8 0

pimpl 习语结构内存泄漏

我们在课堂上使用 pimpl 习语。 pimpl 结构在包含 pimpl 指针的类中声明,如下所示: struct MyClassImpl; friend struct MyClassImpl; boost::scoped…

伴梦长久 2024-10-24 05:03:49 6 0

使用 d 指针有哪些优点和缺点?

d 指针在 Qt 中被大量使用,它们是 pimpl idiom 的实现。我知道 pimpl 习语的优点和缺点。但我错过了 d 指针实现的优点。 此处 和 这里是 d 指针的示…

追我者格杀勿论 2024-10-17 07:44:01 7 0
更多

推荐作者

胡图图

文章 0 评论 0

zt006

文章 0 评论 0

z祗昰~

文章 0 评论 0

冰葑

文章 0 评论 0

野の

文章 0 评论 0

天空

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文