溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C++11中的Array的用法與vector用法介紹

發(fā)布時間:2021-07-21 11:16:27 來源:億速云 閱讀:293 作者:chen 欄目:系統(tǒng)運(yùn)維

本篇內(nèi)容主要講解“C++11中的Array的用法與vector用法介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“C++11中的Array的用法與vector用法介紹”吧!

Array

-對于Array來說它是固定大小的序列容器,它們包含嚴(yán)格的線性序列排序的特定數(shù)量的元素,在其內(nèi)部來說,數(shù)組除數(shù)組除保留其包含的元素外不保留其他任何數(shù)據(jù)(甚至不包括其大小(這是模板參數(shù),固定在編譯時))。就存儲大小而言,它與使用該語言的括號語法([])聲明的普通數(shù)組一樣有效。此類僅向其添加一層成員和全局函數(shù),因此可以將數(shù)組用作標(biāo)準(zhǔn)容器。要知道的是,零大小的數(shù)組是有效的,但不應(yīng)該取消引用

1.Array的模板形式為 template < class T, size_t N > class array;

2.Array的功能函數(shù)

array::begin-返回的是迭代器的開始

array::end-返回的是迭代器的末尾

array::rbegin-返回反向迭代器以反向開始

array::rend-返回反向迭代器以方向末尾

array::cbegin-指針指向的const類型,不能進(jìn)行修改

array::cend-同理

array::data()-有兩種形式一種是const,一種是非const,返回的是數(shù)組的內(nèi)容

// 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函數(shù)將其定義的cstr復(fù)制到定義的數(shù)組內(nèi)

運(yùn)行結(jié)果:www.linuxmi.com

C++11中的Array的用法與vector用法介紹

array::max_size-返回的是數(shù)組的最大長度

// 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;  }

運(yùn)行結(jié)果為:

size of myints: 10

max_size of myints: 10

C++11中的Array的用法與vector用法介紹

vector的用法

-向量是表示可以改變大小的數(shù)組的序列容器。

與array相比來說,上面所說的一些基本類型都有,vector新增了push_back,insert等一些類型

push_back-往vector最后面加數(shù)據(jù)

// 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);

代碼實(shí)現(xiàn)

// 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;  }

運(yùn)行結(jié)果myvector contains: 501 502 503 300 300 400 400 200 100 100 100

C++11中的Array的用法與vector用法介紹

到此,相信大家對“C++11中的Array的用法與vector用法介紹”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

c++
AI