c++ 11 tuple使用,与vector set结合

原文:https://oopscenities.net/2015/09/10/stdtuple/

#include <iostream>
#include <set>
#include <string>
#include <tuple>
 
using namespace std;
 
using car = tuple<string, string, int >;
 
void print( const car& c)
{
     cout << get<0>(c) << ", " << get<1>(c) << "; " << get<2>(c) << endl;
}
 
int main()
{
   set<car> cars;
   cars.emplace( "Toyota" , "Rav4" , 2012);
   cars.emplace( "VW" , "Jetta" , 2015);
   cars.emplace( "Chevrolet" , "Sonic" , 2013);
   cars.emplace( "BMW" , "X5" , 2014);
   cars.emplace( "VW" , "Jetta" , 2014);
   
   for ( auto & i : cars)
     print(i);
 
   cout << "******" << endl;
   auto it = cars.find(car { "Toyota" , "Rav4" , 2012 });
   if (it == cars.end())
     cerr << "CAR NOT FOUND" << endl;
   else
     print(*it);
     
   return 0;
}

int main()
{
   vector<tuple< int , string>> vec;
   vec.push_back(make_tuple(10, "ten" ));
   vec.emplace_back(20, "twenty" );
   vec.emplace_back(30, "thirty" );
 
   for ( auto & i : vec)
   {
      cout << "(" << get<0>(i) << "; " << get<1>(i) << ")" << endl;
   }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值