目录

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
↑回到顶部↑
WIKI教程 @2018