【发布时间】:2011-05-16 06:57:52
【问题描述】:
我有以下问题。我在我必须用 C++ 执行的程序中使用 C 库 igraph (http://igraph.sourceforge.net/)。所以我在一个名为 Graph 的类中找到了这个 C 库 (http://code.google.com/p/igraphhpp/) 的 c++ 包装器,它提供了一些我想使用的漂亮接口。
我的程序中有以下课程:
class Agent
{
private:
double beta;
Graph * innerGraph;
public:
Agent(int N, double beta_) {
innerGraph = new Graph;
*innerGraph = Graph::full(N);
beta = beta_;
};
~Agent() {delete innerGraph;}
void MCStep();
};
函数 MCStep() 必须执行以下操作:
- 复制
*innerGraph中包含的图表, - 在不改变原件的情况下对这个副本做一些修改,
- 检查更改后的副本是否满足某些条件,如果是,则使用此新修改的图形更新
*innerGraph。
如果我知道库实现了一个安全的复制构造函数,我会以显而易见的方式来做,但我没有。如何查看?
【问题讨论】:
标签: c++ copy-constructor igraph