如何在不同的对象中使用不同的静态(全局)变量?

时间:2016-07-27 15:06:03

标签: c++ static

现在我有一个代表树的类。这个树中的每个节点都有完全相同数量的子节点,我们称之为N.我用类的静态变量管理它,它的值为N,所以这基本上是一个全局变量。

我现在的问题是我想构建一个具有相同类的不同树,但现在N的值应该是不同的。所以,让我们说我想要创建N = 4的第一棵树和N = 2的第二棵树。为了节省内存,我只想为树存储一次N的值,而不是树的每个节点。是否有一种简单的概念方法来实现这一目标?

提前致谢!

1 个答案:

答案 0 :(得分:2)

template<size_t N>
struct TreeNode {
    ...
    TreeNode<N>* children[N];
    ...
};

用作TreeNode&lt; 2&gt;或Treenode&lt; 7&gt;