栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

std::tuple 用法

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

std::tuple 用法

// tuple example
#include      // std::cout
#include         // std::tuple, std::get, std::tie, std::ignore

int main ()
{
  std::tuple foo (10,'x');
  auto bar = std::make_tuple ("test", 3.1, 14, 'y');

  std::get<2>(bar) = 100;                                    // access element

  int myint; char mychar;

  //获取foo中的元素

  std::tie (myint, mychar) = foo;                            // unpack elements
  std::cout << myint << ' ' << mychar << std::endl;


  //获取bar中的元素
  std::tie (std::ignore, std::ignore, myint, mychar) = bar;  // unpack (with ignore)

  std::cout << myint << ' ' << mychar << std::endl;
  
  mychar = std::get<3>(bar);

  std::get<0>(foo) = std::get<2>(bar);
  std::get<1>(foo) = mychar;

  std::cout << "foo contains: ";
  std::cout << std::get<0>(foo) << ' ';
  std::cout << std::get<1>(foo) << 'n';

  return 0;
}

// tuple_cat example
#include      // std::cout
#include       // std::pair
#include        // std::string
#include         // std::tuple, std::tuple_cat, std::get

int main ()
{

  std::tuple mytuple (3.14,"pi");
  std::pair mypair (10,'a');

  auto myauto = std::tuple_cat ( mytuple, std::tuple(mypair) );

  std::cout << "myauto contains: " << 'n';
  std::cout << std::get<0>(myauto) << 'n';
  std::cout << std::get<1>(myauto) << 'n';
  std::cout << std::get<2>(myauto) << 'n';
  std::cout << std::get<3>(myauto) << 'n';

  return 0;
}

// make_tuple example
#include 
#include 
#include 

int main()
{
  auto first = std::make_tuple (10,'a');             // tuple < int, char >

  const int a = 0; int b[3];                         // decayed types:
  auto second = std::make_tuple (a,b);               // tuple < int, int* >

  auto third = std::make_tuple (std::ref(a),"abc");  // tuple < const int&, const char* >

  std::cout << "third contains: " << std::get<0>(third);
  std::cout << " and " << std::get<1>(third);
  std::cout << std::endl;

  return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/717491.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号