zoukankan      html  css  js  c++  java
  • Boost C++: 数据结构---tuple

     1 #include <boost/tuple/tuple.hpp>
     2 #include <boost/tuple/tuple_io.hpp>
     3 #include <boost/tuple/tuple_comparison.hpp>
     4 #include <iostream>
     5 #include <string>
     6 
     7 void TestTuple1()
     8 {
     9     typedef boost::tuple<std::string, std::string> person;
    10     person p("kevin", "25");
    11     std::cout << p << std::endl;
    12     std::cout << boost::make_tuple(boost::ref(p), "male", 25) << std::endl;
    13 }
    14 
    15 void TestTuple2()
    16 {
    17     using namespace std;
    18     typedef boost::tuple<string, string, int> person;
    19     person p("kevin", "male", 25);
    20     cout << p.get<0>() << endl;
    21     p.get<1>() = "lihua";
    22     cout << boost::get<1>(p) << endl;
    23 }
    24 
    25 void TestTuple3()
    26 {
    27     using namespace std;
    28     typedef boost::tuple<string, string, int> person;
    29     person p1 = boost::make_tuple("kevin","male",25);
    30     person p2 = boost::make_tuple("lihua","female",25);
    31 
    32     cout << (p1 != p2) << endl;
    33 }
    34 
    35 boost::tuple<std::string, int> func()
    36 {
    37     return boost::make_tuple("func error", 2003);
    38 }
    39 
    40 void TestTuple4()
    41 {
    42     std::string err_msg;
    43     int err_no;
    44 
    45     boost::tie(err_msg, err_no) = func();
    46     std::cout << "error: " << err_msg << "error no:" << err_no << std::endl;
    47 }
    48 
    49 void TestShuJuJieGou()
    50 {
    51     TestTuple4();
    52 }
  • 相关阅读:
    Configuration Management
    Android Hooking
    技术趋势总结
    Maven Repo Mirror
    拥抱JAVA
    NPM 更新所有依赖项
    Knockout Mvc Compoment FrameSet With Typescript
    Knockoutjs Component问题汇总
    前端编码规范文档
    优秀程序设计的18大原则
  • 原文地址:https://www.cnblogs.com/kernel0815/p/4185337.html
Copyright © 2011-2022 走看看