2016-07-27 26 views
-2

现在我有一个代表一棵树的类。这棵树中的每个节点都有完全相同数量的子节点,我们称它为N.我用一个静态变量来管理这个类,它的值为N,所以这基本上是一个全局变量。如何在不同的对象中使用不同的静态(全局)变量?

我现在的问题是我想用相同的类构造一棵不同的树,但是现在N的值应该是不同的。假设我想创建N = 4的第一棵树,N = 2的第二棵树。为了节省内存,我只想将这些N的值存储在树中,而不是存储在树的每个节点中。是否有一个简单的概念方式来实现这一目标?

在此先感谢!

+3

你有没有考虑非类型模板参数? –

回答

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

用作树节点< 2>或树节点< 7>

+0

是的,教科书的用法。 –

相关问题