输出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;
}
输出tuple和chrono的使用小例子的更多相关文章
- 试试 IEnumerable 的另外 6 个小例子
IEnumerable 接口是 C# 开发过程中非常重要的接口,对于其特性和用法的了解是十分必要的.本文将通过6个小例子,来熟悉一下其简单的用法. <!-- more --> 阅读建议 在 ...
- Runtime的几个小例子(含Demo)
一.什么是runtime(也就是所谓的“运行时”,因为是在运行时实现的.) 1.runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数); [runti ...
- java连接mysql的一个小例子
想要用java 连接数据库,需要在classpath中加上jdbc的jar包路径 在eclipse中,Project的properties里面的java build path里面添加引用 连接成功的一 ...
- Java处理文件小例子--获取全国所有城市的坐标
需求:前端展示数据,全国城市的坐标
- 我的Android进阶之旅------>Android拍照小例子
今天简单的学习了一下android拍照的简单实现. 当然该程序是个小例子,非常简单,没有什么复杂的操作,但是可以学习到Android 拍照API流程. 1.在布局文件中添加一个 surfaceView ...
- Spring aop 小例子demo
由于最近的服务项目提供接口有一个需求,所有操作都必须检查操作的服务可用,所以感觉Aop特别适合实施.完成学习的小例子. 关于spring-Aop原理:http://m.oschina.net/blog ...
- JS的for循环小例子
1.输出1-100的和 var sum = 0; for(var i=1;i<=100;i++){ sum = sum + i; } document.write(sum); 2.输出1-100 ...
- c/c++ vector,map,set,智能指针,综合运用的小例子
标准库,智能指针,综合运用的小例子 功能说明:查询单词在文件中出现的次数,如果在同一行出现多次,只算一次. 比如查询单词:你好 输出的结果: 你好 出现了:2次 (行号 2)xxxxxxx 你好 (行 ...
- 一个有趣的小例子,带你入门协程模块-asyncio
一个有趣的小例子,带你入门协程模块-asyncio 上篇文章写了关于yield from的用法,简单的了解异步模式,[https://www.cnblogs.com/c-x-a/p/10106031. ...
随机推荐
- scss学习笔记
1.引用父选择符: & #main { color: black; a { font-weight: bold; &:hover { color: red; } } } 2.font: ...
- 务实java基础之集合总结
Java 提供了容纳对象(或者对象的句柄)的多种方式.其中内建的类型是数组,此外, Java 的工具库提供了一些 "集合类",利用这些集合类,我们可以容纳乃至操纵自己的对象. 声明 ...
- art.dialog 使用说明
Js代码 2. 传入HTMLElement 备注:1.元素不是复制而是完整移动到对话框中,所以原有的事件与属性都将会保留 2.如果隐藏元素被传入到对话框,会设置display:block属性显示该 ...
- magento -- 给Magento提速之缓存上的探索
依然在为Magento提速做努力,除了自带的缓存和编译,之前的所作的很多努力都是从减少JS,Css,图片等载入时间入手,而对页面载入耗时最早有时也是最大的一部分--获取页面数据没有做太多处理,以gap ...
- UIWebView UITextView
// // ViewController.m // 网页 // #import "ViewController.h" @interface ViewController ()< ...
- HihoCoder - 1794:拼三角形 (状压DP)
描述 给定 n 根木棍,第 i 根长度为 ai 现在你想用他们拼成尽量多的面积大于 0 的三角形,要求每根木棍只能被用一次,且不能折断 请你求出最多能拼出几个 输入 第一行一个正整数 n 第二行 n ...
- centos7下安装momgodb3
简介 MongoDB 是一个基于分布式 文件存储的NoSQL数据库 由C++语言编写,运行稳定,性能高 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案 查看官方网站 MongoDB特点 模式自 ...
- spring boot redis -> @Cacheable,@CacheEvict, @CachePut
https://blog.csdn.net/eumenides_/article/details/78298088?locationNum=9&fps=1 https://www.cnblog ...
- LG4197 Peaks
题意 题目描述 在Bytemountains有N座山峰,每座山峰有他的高度hih_ihi.有些山峰之间有双向道路相连,共MMM条路径,每条路径有一个困难值,这个值越大表示越难走,现在有QQQ组询问, ...
- MySQL--禁用账号和设置账号有效期
======================================================================= MySQL5.5/5.6版本 在MySQL 5.7 版本 ...