温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C++11中的Array的用法与vector用法介绍

发布时间:2021-07-21 11:16:27 来源:亿速云 阅读:278 作者:chen 栏目:系统运维

本篇内容主要讲解“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 <iostream>  #include <cstring>  #include <array> int main ()  {    const char* cstr = "www.linuxmi.com";    std::array<char,15> charray;    std::memcpy (charray.data(),cstr,15);    std::cout << charray.data() << '\n';   return 0;  }

在这里通过:memcpy函数将其定义的cstr复制到定义的数组内

运行结果:www.linuxmi.com

C++11中的Array的用法与vector用法介绍

array::max_size-返回的是数组的最大长度

// array::max_size  #include <iostream>  #include <array>  int main ()  {    std::array<int,10> 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

C++11中的Array的用法与vector用法介绍

vector的用法

-向量是表示可以改变大小的数组的序列容器。

与array相比来说,上面所说的一些基本类型都有,vector新增了push_back,insert等一些类型

push_back-往vector最后面加数据

// vector::push_back  #include <iostream>  #include <vector>  int main ()  {    std::vector<int> 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;  }

C++11中的Array的用法与vector用法介绍

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)     template <class InputIterator>  iterator 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<value_type> il);

代码实现

// inserting into a vector  #include <iostream>  #include <vector>  int main ()  {    std::vector<int> myvector (3,100);    std::vector<int>::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<int> 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.end(); it++)      std::cout << ' ' << *it;    std::cout << '\n';    return 0;  }

运行结果myvector contains: 501 502 503 300 300 400 400 200 100 100 100

C++11中的Array的用法与vector用法介绍

到此,相信大家对“C++11中的Array的用法与vector用法介绍”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++
AI