std::get(std::array)_C++中文网
| 定义于头文件 |
||
| (1) | ||
| template< std::size_t I, class T, std::size_t N > |
(C++11 起) (C++14 前) |
|
| template< std::size_t I, class T, std::size_t N > |
(C++14 起) | |
| (2) | ||
| template< std::size_t I, class T, std::size_t N > |
(C++11 起) (C++14 前) |
|
| template< std::size_t I, class T, std::size_t N > |
(C++14 起) | |
| (3) | ||
| template< std::size_t I, class T, std::size_t N > |
(C++11 起) (C++14 前) |
|
| template< std::size_t I, class T, std::size_t N > |
(C++14 起) | |
| (4) | ||
| template< std::size_t I, class T, std::size_t N > |
(C++11 起) (C++14 前) |
|
| template< std::size_t I, class T, std::size_t N > |
(C++14 起) | |
从 array 提取第 I 个元素。
I 必须是范围 [0, N) 中的整数值。与 at() 或 operator[] 相反,这在编译时强制。
参数
返回值
到 a 的第 I 元素的引用。
时间复杂度
常数。
示例
#include <iostream> #include <array> int main() { std::array<int, 3> arr; // 设置值: std::get<0>(arr) = 1; std::get<1>(arr) = 2; std::get<2>(arr) = 3; // 获取值: std::cout << "(" << std::get<0>(arr) << ", " << std::get<1>(arr) << ", " << std::get<2>(arr) << ")\n"; }
输出:
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
| DR | 应用于 | 出版时的行为 | 正确行为 |
|---|---|---|---|
| LWG 2485 | C++11 | 无对于 const array&& 的重载 | 添加重载 |