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

有头函数#include<vector>,有usingstd::vector我想在类中定义一个int容器,并初始化大小为10所以我这样操作:vector<int>a(10... 有头函数#include<vector>,有using std::vector
我想在类中定义一个int容器,并初始化大小为10
所以我这样操作:vector<int> a(10);
可是
展开
 我来答
百度网友faadf46
高粉答主

2020-05-10 · 说的都是干货,快来关注
知道答主
回答量:4556
采纳率:0%
帮助的人:75.6万
展开全部

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

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

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

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

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

JClanguage
2012-11-11
知道答主
回答量:39
采纳率:0%
帮助的人:8.6万
展开全部
你可以在错误列表里选择这个错误,然后按F1键即可在msdn网上查询。关键是,你还没有定义成员,而你这个vector声明是属于类的对象的,你这样等于在没有成员的情况下给这个容器分配了起源,你可以在构造函数里这样初始化它:
base():a(10){...}
使用了初始化列表。如果你想让这个容器属于类,你可以在类里把它声明为静态的,但是定义一定要在类外:
vector<int> base::a(10);
当然,也对,vector是动态数组,所以你不用担心关于制定大小这些问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qyxqyxqyxqy
推荐于2017-05-16 · 超过11用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:33.6万
展开全部
在构造函数中对a初始化就成
class base{
public:
int n;
club cl;
vector<int> a;

base():a(10){}
private:
};
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wanglixin1001
2012-11-07 · TA获得超过4174个赞
知道大有可为答主
回答量:1758
采纳率:80%
帮助的人:883万
展开全部
在成员变量的定义里面是不能对成员进行初始化的。
应该写成vector<int> a;就可以了。
事实上,不需要设定其大小,因为vector本来就是动态数组,您可以使用使用push_back等函数直接往a中添加元素,使用a.size()查看大小。
满意请采纳,有问题欢迎追问!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式