我希望我可以解释一下。
Supose我旁边:
文件“啊”:
#include "C.h"
public class A{
// Some code...
}
文件“波黑”:
#include "A.h"
public class B{
A a = new A(); //With this line I mean I'm using one instance of "A" inside "B.h"
//Some code...
}
是否有可能包括“CH” ONLY里面“啊”?
我的问题是我已经包含的代码是给了我很多与常用功能的冲突。 这不是纠正一个矛盾一个选项,因为有巨大的一套他们。 此外,包括我的“CH”的代码是只是一个测试代码:一些测试后,我会删除包括线。
是否有“冒泡”的任何方式我包括什么呢?
先感谢您。
编辑:阿和BH在同一个命名空间。
是否有可能包括“CH” ONLY里面“啊”?
不,不是我的知识。
如果你有名称冲突,只是有一章其他命名空间内,如@ user202729建议。 这可以帮助。
但我猜你用C在用于测试和在一个没有这不是C ++ CLI或从内容了Bh兼容的实现,你不能用在C
我们使用平普尔ideom(指针实现)。 例如:C ++ / CLR目前不允许不直接计入,这就是为什么有时候库要使用(如章),你不能使用,因为它们依赖于支持。
这是我的CH(用于所有其他标题)
struct LockImpl; // forward declaration of C.
class C
{
public:
C();
virtual ~C();
public:
void Lock() const;
void Unlock() const;
LockImpl* _Lock;
};
这是我的C.cpp(编译/ CLR)
#include <mutex>
struct LockImpl
{
std::mutex mutex;
};
C::C() : _Lock(new LockImpl()) {}
C::~C() { delete _Lock; }
void C::Lock() const
{
_Lock->mutex.lock();
}
void C::Unlock() const
{
_Lock->mutex.unlock();
}
啊
#include "C.h"
public class A{
C c;
void someMethod()
{
c.Lock() // I used another template for a RAII pattern class.
c.Unlock()
}
}