本篇内容主要讲解“C++11中的Array的用法与vector用法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11中的Array的用法与vector用法介绍”吧!
为麻山等地区用户提供了全套网页设计制作服务,及麻山网站建设行业解决方案。主营业务为网站建设、成都做网站、麻山网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
Array
-对于Array来说它是固定大小的序列容器,它们包含严格的线性序列排序的特定数量的元素,在其内部来说,数组除数组除保留其包含的元素外不保留其他任何数据(甚至不包括其大小(这是模板参数,固定在编译时))。就存储大小而言,它与使用该语言的括号语法([])声明的普通数组一样有效。此类仅向其添加一层成员和全局函数,因此可以将数组用作标准容器。要知道的是,零大小的数组是有效的,但不应该取消引用
1.Array的模板形式为 template < class T, size_t N > class array;
2.Array的功能函数
array::begin-返回的是迭代器的开始
array::end-返回的是迭代器的末尾
array::rbegin-返回反向迭代器以反向开始
array::rend-返回反向迭代器以方向末尾
array::cbegin-指针指向的const类型,不能进行修改
array::cend-同理
array::data()-有两种形式一种是const,一种是非const,返回的是数组的内容
// array::data #include#include #include int main () { const char* cstr = "www.linuxmi.com"; std::array charray; std::memcpy (charray.data(),cstr,15); std::cout << charray.data() << '\n'; return 0; }
在这里通过:memcpy函数将其定义的cstr复制到定义的数组内
运行结果:www.linuxmi.com
array::max_size-返回的是数组的最大长度
// array::max_size #include#include int main () { std::array myints; std::cout << "size of myints: " << myints.size() << '\n'; std::cout << "max_size of myints: " << myints.max_size() << '\n'; return 0; }
运行结果为:
size of myints: 10
max_size of myints: 10
vector的用法
-向量是表示可以改变大小的数组的序列容器。
与array相比来说,上面所说的一些基本类型都有,vector新增了push_back,insert等一些类型
push_back-往vector最后面加数据
// vector::push_back #include#include int main () { std::vector myvector; int myint; std::cout << "Please enter some integers (enter 0 to end):\n"; do { std::cin >> myint; myvector.push_back (myint); } while (myint); std::cout << "myvector stores " << int(myvector.size()) << " numbers.\n"; return 0; }
insert的用法
single element (1) iterator insert (const_iterator position, const value_type& val); fill (2) iterator insert (const_iterator position, size_type n, const value_type& val); range (3) templateiterator insert (const_iterator position, InputIterator first, InputIterator last); move (4) iterator insert (const_iterator position, value_type&& val); initializer list (5) iterator insert (const_iterator position, initializer_list il);
代码实现
// inserting into a vector #include#include int main () { std::vector myvector (3,100); std::vector ::iterator it; it = myvector.begin(); it = myvector.insert ( it , 200 ); myvector.insert (it,2,300); // "it" no longer valid, get a new one: it = myvector.begin(); std::vector anothervector (2,400); myvector.insert (it+2,anothervector.begin(),anothervector.end()); int myarray [] = { 501,502,503 }; myvector.insert (myvector.begin(), myarray, myarray+3); std::cout << "myvector contains:"; for (it=myvector.begin(); it 运行结果myvector contains: 501 502 503 300 300 400 400 200 100 100 100
到此,相信大家对“C++11中的Array的用法与vector用法介绍”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
网站栏目:C++11中的Array的用法与vector用法介绍
文章地址:http://cdxtjz.cn/article/ghhgid.html