概述
通过下面的一道题,来分析数组与容器的一些不同之处题:编写必要的代码将一个数组赋给另一个数组,然后把这段代码改用 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 无法达到必要的速度要求时,才使用数组
最后
以上就是哭泣大雁为你收集整理的数组与容器的全部内容,希望文章能够帮你解决数组与容器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复