c++如何声明动态的结构体数组

2025-02-13 17:53:02
推荐回答(2个)
回答1:

可以在结构体中添加指针类成员变量,并在成员函数中实现动态数组的分配。
以下以一个仅实现整型动态数组,不包含其它功能的类为例做说明。
class array //类名
{
public:
int *v; //动态数组首地址。
int length; //动态数组长度。
array(int len)
{

if(len <= 0)//初始化长度非法。
{
length = 0;
v = NULL;
}
else
{
length = len;
v = new int[length];//内存分配。
}
}
~array()
{
delete [] v;//析构中释放内存。
}
};

回答2:

#include 
struct item
{
int exponent;
};
int main(){
        int count;
cin>>count;
std::vector items(count);
// 把items当成普通数组来用
}