std::get(std::array)
来自cppreference.com
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
template<size_t I, class T, size_t N > T& get( array<T,N>& a ); |
(1) | (C++11 起) |
template<size_t I, class T, size_t N > T&& get( array<T,N>&& a ); |
(2) | (C++11 起) |
template<size_t I, class T, size_t N > const T& get( const array<T,N>& a ); |
(3) | (C++11 起) |
从数组中提取
Ith
element元素. 原文:
Extracts the
Ith
element element from the array. I
[0, N)
范围内的值必须是一个整数。这是在编译时执行,而不是at()
或operator[]()
.原文:
I
must be an integer value in range [0, N)
. This is enforced at compile time as opposed to at()
or operator[]()
.目录 |
[编辑] 参数
a | - | 数组,其内容提取
|
[编辑] 返回值
1)参考
2) Ith
元素a
.rvalue引用
3) Ith
的a
元素,除非该元素是左值引用类型,在这种情况下,左值引用被返回.原文:
Rvalue reference to the
Ith
element of a
, unless the element is of lvalue reference type, in which case lvalue reference is returned.const引用的
Ith
元素a
.原文:
Const reference to the
Ith
element of a
.[编辑] 例外
[编辑] 示例
#include <iostream> #include <array> int main() { std::array<int, 3> arr; // set values: std::get<0>(arr) = 1; std::get<1>(arr) = 2; std::get<2>(arr) = 3; // get values: std::cout << "(" << std::get<0>(arr) << ", " << std::get<1>(arr) << ", " << std::get<2>(arr) << ")\n"; }
输出:
(1, 2, 3)
[编辑] 另请参阅
访问指定的元素 (公共成员函数) | |
访问指定的元素,同时进行越界检查 (公共成员函数) | |
tuple访问指定的元素 (函数模板) | |
(C++11) |
访问pair 的一个元素 (函数模板) |