1. // move example
  2. #include <iostream> // std::cout
  3. #include<tuple>
  4. #include<ratio>
  5. #include<chrono>
  6. using namespace std;
  7. template<typename... Types>
  8. ostream& operator<<(ostream& os, const tuple<Types...>& t1)
  9. {
  10. os << '[';
  11. PRINT_TUPLE<0, sizeof...(Types), Types...>::print(os, t1);
  12. os << ']';
  13. return os;
  14. }
  15. template<int index, int max, typename... Types>
  16. struct PRINT_TUPLE
  17. {
  18. static void print(ostream& os, const tuple<Types...>& t1)
  19. {
  20. os << get<index>(t1);
  21. if(index<max-1)
  22. os << ',';
  23. PRINT_TUPLE<index + 1, sizeof...(Types), Types...>::print(os, t1);
  24. }
  25. };
  26. template<int max, typename... Types>
  27. struct PRINT_TUPLE<max,max,Types...>
  28. {
  29. static void print(ostream& os, const tuple<Types...>& t1)
  30. {
  31. }
  32. };
  33. int main() {
  34. using namespace chrono;
  35. using days_type=duration<int, ratio<60 * 60 * 24>>;
  36. system_clock::time_point t1 = system_clock::now();
  37. time_point<system_clock, days_type> today = time_point_cast<days_type>(system_clock::now());
  38. cout << "距离1970年1月1日"<<today.time_since_epoch().count()<<"天" << endl;
  39. system_clock::time_point tp = system_clock::now(); //typedef chrono::time_point<system_clock> system_clock::time_point;
  40. tp += chrono::hours(24);
  41. time_point<system_clock, days_type> tomorrow=time_point_cast<days_type>(tp);
  42. cout << "距离1970年1月1日" << tomorrow.time_since_epoch().count() << "天" << endl;
  43. system_clock::duration du(11); //typedef chrono::duration<rep, period> system_clock::duration;
  44. cout <<"count:"<< du.count()<<",period:"<<system_clock::period::num<<'/'<<system_clock::period::den << endl;
  45. nanoseconds dn=duration_cast<nanoseconds>(du);
  46. cout <<"nanoseconds count:"<< dn.count()<< endl;
  47. system_clock::time_point t2 = system_clock::now();
  48. cout << "程序运行时间:" << duration_cast<microseconds>(t2 - t1).count() <<"微秒"<< endl;
  49. system("pause");
  50. return 0;
  51. }

输出tuple和chrono的使用小例子的更多相关文章

  1. 试试 IEnumerable 的另外 6 个小例子

    IEnumerable 接口是 C# 开发过程中非常重要的接口,对于其特性和用法的了解是十分必要的.本文将通过6个小例子,来熟悉一下其简单的用法. <!-- more --> 阅读建议 在 ...

  2. Runtime的几个小例子(含Demo)

    一.什么是runtime(也就是所谓的“运行时”,因为是在运行时实现的.)           1.runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数);  [runti ...

  3. java连接mysql的一个小例子

    想要用java 连接数据库,需要在classpath中加上jdbc的jar包路径 在eclipse中,Project的properties里面的java build path里面添加引用 连接成功的一 ...

  4. Java处理文件小例子--获取全国所有城市的坐标

    需求:前端展示数据,全国城市的坐标

  5. 我的Android进阶之旅------>Android拍照小例子

    今天简单的学习了一下android拍照的简单实现. 当然该程序是个小例子,非常简单,没有什么复杂的操作,但是可以学习到Android 拍照API流程. 1.在布局文件中添加一个 surfaceView ...

  6. Spring aop 小例子demo

    由于最近的服务项目提供接口有一个需求,所有操作都必须检查操作的服务可用,所以感觉Aop特别适合实施.完成学习的小例子. 关于spring-Aop原理:http://m.oschina.net/blog ...

  7. JS的for循环小例子

    1.输出1-100的和 var sum = 0; for(var i=1;i<=100;i++){ sum = sum + i; } document.write(sum); 2.输出1-100 ...

  8. c/c++ vector,map,set,智能指针,综合运用的小例子

    标准库,智能指针,综合运用的小例子 功能说明:查询单词在文件中出现的次数,如果在同一行出现多次,只算一次. 比如查询单词:你好 输出的结果: 你好 出现了:2次 (行号 2)xxxxxxx 你好 (行 ...

  9. 一个有趣的小例子,带你入门协程模块-asyncio

    一个有趣的小例子,带你入门协程模块-asyncio 上篇文章写了关于yield from的用法,简单的了解异步模式,[https://www.cnblogs.com/c-x-a/p/10106031. ...

随机推荐

  1. pygame精灵类实现房子爆炸效果

    # coding=utf8 import random import pygame from pygame.locals import * from cStringIO import StringIO ...

  2. SharePoint 2010: Change welcome page on PowerShell

    摘要: SharePoint 2010之后呢, 建立一个 Team Site会有两个 default page, 分别是 Sitepages/home.aspx and default.aspx. 这 ...

  3. 日志的处理 —— 使用 log4j

    通过 log4j,日志信息不仅打印到 console,而且输出到指定文件,根据配置信息: <dependency> <groupId>log4j</groupId> ...

  4. magento如何在首页显示产品

    1.首先现在magento后台创建一个新的分类,记下这个分类的 ID 号码.使用这个新建的分类来管理你的首页产品,这个分类设置为前台不可见.这样就不会显示在你的分类菜单中了,但使用代码调用的时候却会显 ...

  5. Executor 框架

    Java的线程既是工作单元,也是执行机制.从JDK5开始,把工作单元与执行机制分离开来.工作单元包括Runnable和Callable,而执行机制由Executor框架提供. Executor 框架简 ...

  6. HPU 1476: 括号括号

    1476: 括号括号 时间限制: 3 Sec 内存限制: 128 MB 提交: 305 解决: 61 统计 题目描述 小明今年上大学,在大学里发现有很多同学都女朋友,两人整天都在一起腻歪,小明看到后感 ...

  7. Mac无法上网

    今天mac突然无法上网了, 家里的大部分设备, 都出现了重启后无法上网的问题, 猜测可能是dns有问题了. 于是乎, 在mac中添加了如下DNS 114.114.114.114 8.8.8.8 1.1 ...

  8. Linux配置NTP服务器,时间同步

    当服务器多了,时间准确与否,一致与否是个大问题.虽然这个问题总是被忽略,但是统一一致的时间是很有必要的.下面说一下在局域网内配置Linux时间服务器的方法. 配置的环境及要求: 假设在192.168. ...

  9. citus 多租户应用开发(来自官方文档)

      citus 官方文档很不错,资料很全,同时包含一个多租户应用的文档,所以运行下,方便学习 环境准备 使用docker-compose 运行,同时集成了graphql 引擎,很方便 docker-c ...

  10. smarty学习——编程知识

    smarty 提供了丰富的api 接口可以方便我们进行操作: 1.clear_all_assign清除所有赋值 2.clear_all_cache清除所有缓存 3.clear_assign清除赋值 4 ...