C++在类中定义vector并初始大小的问题

2024年11月17日 12:46
有4个网友回答
网友(1):

1、数组大小固定,速度较快,通用格式是:数据类型   数组名[ 数组大小 ]。

2、vector 是STL中的容器类,包含多种通用算法,长度可变,使用灵活,但效率稍低,vector是使用 new 和 delete 来管理内存的。

3、array 数组模板 ,在C++11中才支持,通用格式:array<类型名, 元素个数>  数组名。

4、valarray 面向数值计算的数组,在C++11中才支持,支持很多数值数组操作,如求数组总和、最大数、最小数等。

5、new 创建动态数组,动态分配内存,不浪费内存资源,要注意的是,有new,就应该有delete,不然会导致内存泄漏。

网友(2):

你可以在错误列表里选择这个错误,然后按F1键即可在msdn网上查询。关键是,你还没有定义成员,而你这个vector声明是属于类的对象的,你这样等于在没有成员的情况下给这个容器分配了起源,你可以在构造函数里这样初始化它:
base():a(10){...}
使用了初始化列表。如果你想让这个容器属于类,你可以在类里把它声明为静态的,但是定义一定要在类外:
vector base::a(10);
当然,也对,vector是动态数组,所以你不用担心关于制定大小这些问题。

网友(3):

在构造函数中对a初始化就成
class base{
public:
int n;
club cl;
vector a;

base():a(10){}
private:
};

网友(4):

在成员变量的定义里面是不能对成员进行初始化的。
应该写成vector a;就可以了。
事实上,不需要设定其大小,因为vector本来就是动态数组,您可以使用使用push_back等函数直接往a中添加元素,使用a.size()查看大小。
满意请采纳,有问题欢迎追问!