Array容器学习
#include <algorithm>
#include <array>
#include <iostream>
#include <iterator>
#include <string>
#include <ranges> // 提供ranges命名空间
/*
***Array是固定大小连续的数组支持获取自身大小,赋值操作和随机访问迭代器等
*/
//添加模板参数N,明确array的大小是类型的一部分
template <typename T,std::size_t N>
void cout_data(const std::array<T,N> &arr)
{for (auto it = arr.begin(); it != arr.end(); it++){std::cout<<*it<<std::endl;}
}int main()
{std::array<int,3> a1{{4,2,3}};//C++11早期定义array数组需要花括号std::array<int,3> a2 = {1,2,3};//等号后初始化不需要花括号 std::array<int,3> a5{1,2,3};//C++17 等号后初始化不需要花括号 cout_data(a1);std::sort(a1.begin(),a1.end());//对a1进行升序cout_data(a1);//a2 中的元素反向复制并输出到标准输出流std::ranges::reverse_copy(a2,std::ostream_iterator<int>(std::cout," "));//循环输出std::array<std::string,2> a3 = {"E3","\u018E"};for(const auto& s:a3)std::cout<<s<<' ';std::cout<<std::endl;a1.size();return 0;
}
输出内容