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;
    }
    
    

  • 相关阅读:
    常见算法之17---二叉树相等判断以及二叉树的复制
    常见算法之16---二维数组中查找元素
    常见算法之15---求N!末尾有多少个0
    常见算法之14---球放入盒问题
    常见算法之13---跳台阶问题
    常见算法之12---求a^n%p
    DB与java的关联
    重拾python
    Codeforces Round 212 Div 2 报告(以前没写完,现在也没心情补了,先就这样吧)
    交换Ctrl和Caps Lock键
  • 原文地址:https://www.cnblogs.com/ggzone/p/10121330.html
Copyright © 2011-2022 走看看