C++ 结构中指针的动态数量
朋友 我有一个包含指针的结构。不同的指针将连接到不同的数据类型。问题是,我不知道当前结构将连接到多少个,这些数据结构将是什么 比如说,C++ 结构中指针的动态数量,c++,dynamic,struct,C++,Dynamic,Struct,朋友 我有一个包含指针的结构。不同的指针将连接到不同的数据类型。问题是,我不知道当前结构将连接到多少个,这些数据结构将是什么 比如说, struct root { branch1 *a; branch2 *b; branch3 *c; /// ... }; 分支1、2、3本身是不同的结构。但我现在不知道我将把根连接到多少个分支1、2、3。因此,如果稍后我知道根将连接到多少个,是否有一种方法可以动态地向结构中引入额外的指针 让我更具体一点。 根是不同逻辑门之间的导线。 分支1、2
struct root
{
branch1 *a;
branch2 *b;
branch3 *c;
/// ...
};
分支1、2、3本身是不同的结构。但我现在不知道我将把根连接到多少个分支1、2、3。因此,如果稍后我知道根将连接到多少个,是否有一种方法可以动态地向结构中引入额外的指针
让我更具体一点。
根是不同逻辑门之间的导线。
分支1、2、3实际上指向由该导线驱动的栅极。
因为有不同的门(不同的输入数量,不同的功能),我不知道现在的线路扇出是什么
---------------我目前的做法----------------------------------
在我讨论一些朋友建议的一些成熟的数据结构之前,比如vector
目前我正在尝试使用一些固有的类和多态性来实现
所有导线都是基础导线固有的,但具有不同的扇出
所有的门都是从具有最大数量输入的基本门中固有的,固有门使用其中的一些门来实现门功能
我还在努力 创建一个名为Branch的类。使所有其他类都从Branch1、Branch2等分支派生 在结构中,创建指向分支的指针数组或向量,如下所示:
struct root{
vector<branch *>branches;
...... };
struct root{
矢量分支;
...... };
创建一个名为Branch的类。使所有其他类都从Branch1、Branch2等分支派生
在结构中,创建指向分支的指针数组或向量,如下所示:
struct root{
vector<branch *>branches;
...... };
struct root{
矢量分支;
...... };
您始终可以使用继承和向量
范例
struct Branch{
}
struct Branch1 : public Branch{
}
struct root{
vector<branch*> branches;
};
struct分支{
}
结构Branch1:公共分支{
}
结构根{
向量分支;
};
您可以始终使用继承和向量 范例
struct Branch{
}
struct Branch1 : public Branch{
}
struct root{
vector<branch*> branches;
};
struct分支{
}
结构Branch1:公共分支{
}
结构根{
向量分支;
};
看看这个
它可以归结为,例如,std::vector
看看这个
它可以归结为例如:代码> STD::vector < /COD> < P>您应该使用一个基类(或者java术语的接口)来为所有不同的分支类型存储指针,并将指针存储在一个可以动态增长的数据结构中(C++中的列表或向量更简单)。
类基本分支
{
...
};
类别Branch1:公共基础分支
{
...
};
使用名称空间std;
ListmyBranchs;
如果需要按位置访问元素,而不是总是从列表的第一个元素开始,我建议使用std::vector
using namespace std;
vector<BaseBranch*>mybranches;
使用名称空间std;
媒介分支;
<>编辑:固定一个类型-感谢Linuxios < P>你应该使用一个基类(或者java术语的接口)来为你所有不同的分支类型存储指针,并将指针存储在一个可以动态增长的数据结构中(C++中的列表或向量更简单)。
类基本分支
{
...
};
类别Branch1:公共基础分支
{
...
};
使用名称空间std;
ListmyBranchs;
如果需要按位置访问元素,而不是总是从列表的第一个元素开始,我建议使用std::vector
using namespace std;
vector<BaseBranch*>mybranches;
使用名称空间std;
媒介分支;
编辑:修复了一个输入错误-多亏了Linuxios这里有一些关于为什么需要继承解决方案的更详细解释:
下面更详细地解释了为什么需要继承解决方案:
你能详细介绍一下这个数据结构吗