friend
我有一个包含指针的结构。不同的指针将连接到不同的数据类型。问题是我不知道当前结构将连接到多少,以及这些数据结构是什么。
例如,
struct root
{
branch1 *a;
branch2 *b;
branch3 *c;
/// ...
};
Branch1、2、3 本身是不同的结构。但我现在不知道我将根连接到多少个分支 1、2、3。因此,如果稍后我知道根将连接到多少,是否有一种方法可以动态地将额外的指针引入结构中?
让我更具体一点。 根是不同逻辑门之间的连线。 分支 1、2、3 实际上指向由这条线驱动的门。 由于有不同的门(不同数量的输入,不同的功能),我现在不知道电线的扇出是多少。
----------------我目前的做法---------------------------- -----
在我按照一些 friend 的建议去使用一些成熟的数据结构比如vector之前,
目前我正在尝试使用一些固有的类和多态性来实现。
所有电线都是基础电线固有的,但扇出不同
所有门都是从具有最大输入数量的基门继承而来的,固有门使用其中的一些来实现门功能
我还在努力。
最佳答案
看看这个http://www.parashift.com/c++-faq/heterogeneous-list.html
归结为例如std::vector<boost::shared_ptr<BranchBase>>
关于c++ - 结构中指针的动态数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11595115/