前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++ 数组array与vector的比较

C++ 数组array与vector的比较

作者头像
拾点阳光
发布2018-05-10 17:53:39
2.5K0
发布2018-05-10 17:53:39
举报
文章被收录于专栏:码云1024

 1:array 定义的时候必须定义数组的元素个数;而vector 不需要;且只能包含整型字面值常量,枚举常量或者用常量表达式初始化的整型const对象,非const变量以及需要到运行阶段才知道其值的const变量都不能用来定义数组的维度. 2:array 定义后的空间是固定的了,不能改变;而vector 要灵活得多,可再加或减. 3:vector有一系列的函数操作,非常方便使用.和vector不同,数组不提供 push——back或者其他的操作在数组中添加新元素,数组一经定义就不允许添加新元素;若需要则要充许分配新的内存空间,再将员数组的元素赋值到新的内存空间。 4.   数组和vector不同,一个数组不能用另一个数组初始化,也不能将一个数组赋值给另一个数组;

代码语言:javascript
复制
 1 #include<vector>
 2 #include<iostream>
 3 using namespace std;
 4 
 5 /*
 6 
 7 初始化
 8 -列表初始化
 9 --int a={0};
10 --int a{0};
11 -默认初始化
12 -拷贝初始化(使用“=”时)
13 向量vector  --(容器)
14 
15 */
16 int main()
17 {
18 
19     //vector<int> vi = { 1,2,3 };    //列表初始化
20     //vector<string> vs = { "hello","world" };
21 
22     //vector<int> vi(10, 0);           //直接初始化     10个为0的int
23     //vector<string> vs(2, "hello");   //               2个"hello" 的string
24 
25     /*vector<int> vi;                   //空的vector对象
26     for (int i = 0; i < 100; i++)
27     {
28     vi.push_back(i);             //依次把i的值放到vector的尾端
29     }                                //循环结束后vi有100个元素,值从0到99
30     cout <<"vi中的元素的个数是"
31     << vi.size()<<endl;          //输出100
32     for (auto &i : vi)
33     {
34     i += 10;
35     }
36     for (auto &i : vi)
37     {
38     cout << i << " | ";
39     }
40     cout << vi[50] + 7 << endl;
41     vi[50] = vi[50] - 7;
42     cout << vi[50] << endl;*/
43     vector<unsigned> scores(11, 0);//11个分数段,全部初始化为0
44     unsigned grade;
45     while (cin >> grade)
46     {
47         if (grade <= 100)
48         {
49             ++scores[grade / 10];//将对应分数段的计数值加1
50         }
51     }
52     for (auto i : scores)
53     {
54         cout << i <<" | ";
55     }
56 
57 
58 
59 
60 
61     system("pause");
62     return 0;
63 }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-06-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档