zoukankan      html  css  js  c++  java
  • 输出tuple和chrono的使用小例子

    // move example
    #include <iostream>     // std::cout
    #include<tuple>
    
    #include<ratio>
    #include<chrono>
    
    using namespace std;
    
    
    template<typename... Types>
    ostream& operator<<(ostream& os, const tuple<Types...>& t1)
    {
    	os << '[';
    	PRINT_TUPLE<0, sizeof...(Types), Types...>::print(os, t1);
    	os << ']';
    	return os;
    }
    template<int index, int max, typename... Types>
    struct PRINT_TUPLE
    {
    	static void print(ostream& os, const tuple<Types...>& t1)
    	{
    		os << get<index>(t1);
    		if(index<max-1)
    			os << ',';
    		PRINT_TUPLE<index + 1, sizeof...(Types), Types...>::print(os, t1);
    	}
    };
    
    template<int max, typename... Types>
    struct PRINT_TUPLE<max,max,Types...>
    {
    	static void print(ostream& os, const tuple<Types...>& t1)
    	{
    	
    	}
    };
    
    int main() {
    	
    	using namespace chrono;
    	using days_type=duration<int, ratio<60 * 60 * 24>>;
    
    	system_clock::time_point t1 = system_clock::now();
    	time_point<system_clock, days_type> today = time_point_cast<days_type>(system_clock::now());
    	cout << "距离1970年1月1日"<<today.time_since_epoch().count()<<"天" << endl;
    	system_clock::time_point tp = system_clock::now(); //typedef chrono::time_point<system_clock> system_clock::time_point;
    	tp += chrono::hours(24);
    	time_point<system_clock, days_type> tomorrow=time_point_cast<days_type>(tp);
    	cout << "距离1970年1月1日" << tomorrow.time_since_epoch().count() << "天" << endl;
    	system_clock::duration du(11); //typedef chrono::duration<rep, period> system_clock::duration;
    	cout <<"count:"<< du.count()<<",period:"<<system_clock::period::num<<'/'<<system_clock::period::den << endl;
    	nanoseconds dn=duration_cast<nanoseconds>(du);
    	cout <<"nanoseconds count:"<< dn.count()<< endl;
    	system_clock::time_point t2 = system_clock::now();
    	cout << "程序运行时间:" << duration_cast<microseconds>(t2 - t1).count() <<"微秒"<< endl;
    
    	system("pause");
    	return 0;
    }
    
    

  • 相关阅读:
    sqlite3数据库的简要应用
    5分钟把任意网站变成桌面软件--windows版
    bootstrap-multiselect 的简单使用,样式修改,动态创建option
    jquery自定义进度条与h5原生进度条
    Angular 4+ Http
    Flexible Box布局基础知识详解
    Angular4+路由
    Angular 4 设置组件样式的几种方式
    Angular 4 自定义组件封装遇见的一些事儿
    angular4 中自定义pagination组件
  • 原文地址:https://www.cnblogs.com/ggzone/p/10121330.html
Copyright © 2011-2022 走看看