get (tuple)
描述 (Description)
它用于获取元素并返回对元组tpl的第I个元素的引用。
声明 (Declaration)
以下是std :: get的声明。
C++98
template <size_t I, class... Types>
typename tuple_element< I, tuple<Types...> >::type& get(tuple<Types...>& tpl) noexcept;
template <size_t I, class... Types>
typename tuple_element< I, tuple<Types...> >::type&& get(tuple<Types...>&& tpl) noexcept;
template <size_t I, class... Types>
typename tuple_element< I, tuple<Types...> >::type const& get(const tuple<Types...>& tpl)
noexcept;
C++11
template <size_t I, class... Types>
typename tuple_element< I, tuple<Types...> >::type& get(tuple<Types...>& tpl) noexcept;
template <size_t I, class... Types>
typename tuple_element< I, tuple<Types...> >::type&& get(tuple<Types...>&& tpl) noexcept;
template <size_t I, class... Types>
typename tuple_element< I, tuple<Types...> >::type const& get(const tuple<Types...>& tpl)
noexcept;
参数 (Parameters)
I - 它包含元素的位置。
Types - 它包含元素的类型。
返回值 (Return Value)
它返回对元组tpl的第I个元素的引用。
异常 (Exceptions)
No-throw guarantee - 此成员函数永远不会抛出异常。
数据竞争 (Data races)
访问lhs和rhs,并访问其所有成员。
例子 (Example)
在下面的示例中为std :: get。
#include <iostream>
#include <tuple>
int main () {
std::tuple<int,char> mytuple (10,'x');
std::get<0>(mytuple) = 20;
std::cout << "tuple contains: ";
std::cout << std::get<0>(mytuple) << " and " << std::get<1>(mytuple);
std::cout << std::endl;
return 0;
}
输出应该是这样的 -
tuple contains: 20 and x