std::array 赋值
时间: 2023-05-04 22:05:42 浏览: 261
std::array是一个C++11中引入的标准库容器,它可以视为一个固定大小的数组,其大小在编译时确定。std::array的优点在于其安全性和效率,因为其支持迭代器和范围检查。因此,其常常被用于需要高效访问元素并确保不越界的情形。
要给std::array变量赋值,可以使用等号“=”运算符或者调用其成员函数assign来进行。使用等号“=”运算符时,可以将一个同类型的std::array作为右值直接赋值给std::array变量。例如:
```c++
std::array<int, 3> arr1 = {1, 2, 3};
std::array<int, 3> arr2 = arr1;
```
在此例中,arr1和arr2都被初始化为{1, 2, 3}。此外,也可以使用花括号列表直接赋值,如:
```c++
std::array<int, 3> arr1;
arr1 = {4, 5, 6};
```
上述代码将arr1赋值为{4, 5, 6}。
另一种方式是使用成员函数assign,它有多个版本,可以接受不同类型的参数。例如,可以将一个指定范围的数组赋值给std::array,如下:
```c++
int myints[] = {10, 20, 30};
std::array<int, 3> arr1;
arr1.assign(myints, myints + 3);
```
在此例中,myints是一个包含三个整数的数组,assign函数被调用来将其赋值给arr1。需要注意的是,assign函数不会改变std::array的大小,因此当被赋值的元素数量超出std::array的大小时,将会被截断。另外,如果被赋值的元素数量小于std::array的大小,此时std::array的尾部将保留原来的值。
阅读全文