数组与容器



通过下面的一道题,来分析数组与容器的一些不同之处
题:编写必要的代码将一个数组赋给另一个数组,然后把这段代码改用 vector 实现。考虑如何将一个 vector 赋给另一个 vector。

解答:

一、数组
#include <iostream>
using namespace std;
int main()
{
const size_t array_size = 10;
int a[]={0,1,2,3,4,5,6,7,8,9};
int b[array_size];
for(size_t ix=0;ix != array_size;++ix)
b[ix] = a[ix];
for(size_t ix=0;ix != array_size;++ix)
cout<<b[ix]<<endl;
return 0;
}


二、容器
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int>ivec1(10,20);//容器初始化的方式之一,将每个元素初始化为20
vector<int>ivec2;
for(vector<int>::iterator iter = ivec1.begin();iter !=ivec1.end();++iter)
ivec2.push_back(*iter);
cout<<"输出ivec2中的值:"<<endl;
for(vector<int>::iterator iter = ivec2.begin();iter !=ivec2.end();++iter)
cout<<*iter<<endl;
return 0;
}



1、数组与vector,初始化方式不同

2、数组的长度固定,且不提供size操作,也不提供push_back操作,如果需要更改数组的长度,程序员只能创建一个更大的新数组,然后把原数组的所有元素复制到新数组空间中去

3、数组复制的方式与vector的复制方式也不同

4、现代 C++ 程序应尽量使用 vector 和迭代器类型,而避免使用低级的数组和指针。设计良好的程序只有在强调速度时才在类实现的内部使用数组和指针

5、数组是 C++ 语言中类似于标准库 vector 类型的内置数据结构。与 vector 类似,数组也是一种存储单一数据类型对象的容器,其中每个对象都没有单独的名字,而是通过它在数组中的位置对它进行访问

6、数组被严格限制于程序内部使用,只有当性能测试表明使用 vector 无法达到必要的速度要求时,才使用数组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值