gpt4 book ai didi

c++ - 像这样的 pimpl 实现是否有更简单的语法?

转载 作者:行者123 更新时间:2023-11-28 05:09:50 24 4
gpt4 key购买 nike

下面的模式是否有更简单的语法?你可以按照下面的描述来做,但是伙计,这不是一个非常简单的想法的简洁代码。是否有一些库可以减少这种尴尬或我应该考虑的其他模式?

#include <iostream>
template <typename T>
class abstr
{
public:
class subclass
{
public:
virtual void x(T) = 0;
};
void doThing(T a)
{
m_a->x(a);
}
abstr(subclass* a)
{
m_a = a;
}
subclass* m_a;
};

class concr : public abstr<int>::subclass
{
public:
void x(int a)
{
std::cout << "hi!" << a;
}

};

int main()
{
concr a;
abstr<int> r = abstr<int>(&a);
r.doThing(5);
}

最佳答案

Loki 有一个粉刺 helper :

http://loki-lib.sourceforge.net/index.php?n=Idioms.Pimpl

但它主要有助于指针管理、复制构造等。pp。如果我没记错的话。繁琐的部分仍然取决于您。

关于c++ - 像这样的 pimpl 实现是否有更简单的语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43748077/

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