c11的数组模容器

Array 是一种大小固定的顺序容器。array 的申明:

template <class T, size_t N>
class array;
Array内部只存储所包含的数据,哪怕是大小也只不过是个模板参数。和普通使用‘[]’语法申明的数组相比,只不过显得更加高效(操作高效),因为这个类添加了一系列的全局成员函数用来操作这些元素。下面来列一些主要的操作:

// ‘[]’ 操作
#include <iostream>
#include <array>
 
int main ()
{
  std::array<int,10> myarray;
  unsigned int i;
 
  // assign some values:
  for (i=0; i<10; i++) myarray[i] = i * 10;
 
  // print content
  std::cout << "myarray contains:";
  for(int &i : myarray)
    std::cout << " " << i;
 
  std::cout << std::endl;
 
  return 0;
}


// data 成员函数:返回指向array第一个元素的指针
#include <iostream>
#include <cstring>
#include <array>
 
int main ()
{
  const char* cstr = "Test string";
  std::array<char,12> charray;
 
  memcpy (charray.data(),cstr,12);
 
  std::cout << charray.data() << std::endl;
 
  return 0;
}
// fill 函数,设置array内部的所有元素为指定值
#include <iostream>
#include <array>
 
int main () {
  std::array<int,6> myarray;
 
  myarray.fill(5);
 
  std::cout << "myarray contains:";
  for ( int& x : myarray) { std::cout << " " << x; }
 
  std::cout << std::endl;
 
  return 0;
}
// swap 函数:交换两个array的内容,注意两个array必须是相同类型,相同大小
#include <iostream>
#include <array>
 
int main ()
{
  std::array<int,5> first = {10, 20, 30, 40, 50};
  std::array<int,5> second = {11, 22, 33, 44, 55};
 
  first.swap (second);
 
  std::cout << "first:";
  for (int& x : first) std::cout << " " << x;
  std::cout << std::endl;
 
  std::cout << "second:";
  for (int& x : second) std::cout << " " << x;
  std::cout << std::endl;
 
  return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值