我写一个C++头在我定义了一个 class A {
// ...
};
,我想从外面的世界隐藏的(因为它可能会改变,甚至在此标题的未来版本中将被删除)。 还有一个B类在具有类A的一个对象作为成员相同的标题: class B {
public:
// ...
private:
A a_;
};
什么是从外界隐藏类A的一个适当的方式? 如果我把A的定
在this question我失败问到如何使用不同的PIMPL实现依赖于一个模板参数实现。 也许这个例子ilustrates好什么,我试图做的: #include <iostream>
template< int N, typename T >
struct B
{
B() : c(new C<N>)
{}
template< int M >
st
我已经基本实现了一个提案,我的问题是,它已经完成了,如果是的话,在哪里?和/或有更好的方式来做我在做什么?对于这篇文章的长度感到抱歉,我不知道有更好的方式来解释我的方法,而不是提供代码。 我以前问的问题pimpl: Avoiding pointer to pointer with pimpl? 要在这里再次解释这个问题,基本上,可以说,我们已经有了一个接口interface和实施impl。此外,像
我正在尝试使用pimpl模式并在匿名命名空间中定义实现类。这在C++中可能吗?我的失败尝试如下所述。 有没有可能解决这个问题,而无需将实现移动到名称空间(或全局名称空间)? class MyCalculatorImplementation;
class MyCalculator
{
public:
MyCalculator();
int CalculateStuff(i