C++11: tuple

#include <tuple>
#include <iostream>
#include <string>

int main()
{
        auto item = std::make_tuple("0-999-78345-X", 3, 20.00, 0.0);
        auto book = std::get<0>(item);
        typedef decltype(item) trans;
        size_t sz = std::tuple_size<trans>::value;
        std::tuple_element<1, trans>::type cnt = std::get<1>(item);
        std::cout << sz << std::endl; // 4
        std::cout << cnt << std::endl; // 3

        std::tuple<std::string, std::string, std::string> duo("1", "2", "3");
        std::tuple<std::size_t, std::size_t, std::size_t> threeD(1, 2, 3); 
        // bool b = (duo == threeD); // error: can't compare a size_t and a string

        std::tuple<std::size_t, std::size_t, std::size_t> origin(2, 0, 0); 
        bool b2 = (origin < threeD); // ok: b2 is false
        std::cout << b2 << std::endl;

        return 0;
}

// from C++ Primer 5th(p.720)
// g++ xx.cpp -std=c++11
// gcc 4.9.2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值