您好,登錄后才能下訂單哦!
本篇內容主要講解“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
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
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; }
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用法介紹”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。