c++新特性11 stdarray
Posted thefist11
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++新特性11 stdarray相关的知识,希望对你有一定的参考价值。
1. std::array 对象的大小是固定的,如果容器大小是固定的,那么可以优先考虑使用 std::array 容器。 另外由于 std::vector 是自动扩容的,当存入大量的数据后,并且对容器进行了删除操作, 容器并不会自动归还被删除元素相应的内存。
// CPP program to demonstrate working of array
#include <algorithm>
#include <array>
#include <iostream>
#include <iterator>
#include <string>
using namespace std;
int main()
// construction uses aggregate initialization
// double-braces required
array<int, 5> ar13, 4, 5, 1, 2;
array<int, 5> ar2 = 1, 2, 3, 4, 5;
array<string, 2> ar3 = string("a"), "b";
cout << "Sizes of arrays are" << endl;
cout << ar1.size() << endl;
cout << ar2.size() << endl;
cout << ar3.size() << endl;
cout << "\\nInitial ar1 : ";
for (auto i : ar1)
cout << i << ' ';
// container operations are supported
sort(ar1.begin(), ar1.end());
cout << "\\nsorted ar1 : ";
for (auto i : ar1)
cout << i << ' ';
// Filling ar2 with 10
ar2.fill(10);
cout << "\\nFilled ar2 : ";
for (auto i : ar2)
cout << i << ' ';
// ranged for loop is supported
cout << "\\nar3 : ";
for (auto &s : ar3)
cout << s << ' ';
return 0;
输出:
Sizes of arrays are
5
5
2
Initial ar1 : 3 4 5 1 2
sorted ar1 : 1 2 3 4 5
Filled ar2 : 10 10 10 10 10
ar3 : a b
以上是关于c++新特性11 stdarray的主要内容,如果未能解决你的问题,请参考以下文章