// 计时
#pragma once #include <iostream>
#include <thread>
#include <chrono>
#include <ctime> // clock namespace DS
{
// 当n超过一定次数时,栈溢出,比如10万次时:0x005753E9 处有未经处理的异常(在 DS.exe 中): 0xC00000FD: Stack overflow
// 实际项目中慎用递归,实际项目中一般会设置最大递归次数,若到达最大递归次数哪怕没求得结果也要返回,防止程序栈破裂,程序终止
void PrintN_Recursive(int n)
{
// 递归终止条件
if (n <= 1) {
return;
} //std::cout << n << ' ';// 放在这就会逆序打印
PrintN_Recursive(--n);
std::cout << n << std::endl;
} void PrintN_Loop(int n)
{
for (int i = 1; i <= n; ++i) {
std::cout << i << std::endl;
}
} void PrintN_Test()
{
clock_t start_time = 0, end_time = 0;
int n = 0;
std::cout << "Input N:";
std::cin >> n; std::cout << "By loop:" << std::endl;
start_time = clock();// C语言方式计时
DS::PrintN_Loop(n);
end_time = clock();
std::cout << "duration:" << end_time - start_time << "ms" << std::endl;
//std::cout << "duration:" << (end_time - start_time) / CLOCKS_PER_SEC << "s" << std::endl; // CLK_TCK或CLOCKS_PER_SEC是每秒走过的时钟打点数 std::this_thread::sleep_for(std::chrono::milliseconds(3000)); std::cout << "By Recursive:" << std::endl;
auto start = std::chrono::steady_clock::now(); // C++11
DS::PrintN_Recursive(n);// 当n超过一定次数时,栈溢出,比如1万次时:0x005753E9 处有未经处理的异常(在 DS.exe 中): 0xC00000FD: Stack overflow
auto end = std::chrono::steady_clock::now();
auto dura = std::chrono::duration_cast<std::chrono::microseconds>(end - start).count();// 微妙
std::cout << "duration:" << dura * 0.001 << "ms" << std::endl;
} }

C++时间日期相关的更多相关文章

  1. 时间日期相关总结-System类的常用方法

    时间日期相关总结 Date类 A.构造方法 Date();根据当前系统时间创建日期对象 Date(long time);根据传入的毫秒值时间创建日期对象 B.成员方法 long getTime(); ...

  2. 时间日期相关类:Date类,DateFormat类&SimpleDateFormat类,Calendar类

    日期相关类 1.Date类:日期时间类 A.构造方法 Date(): 根据当前系统时间创建日期对象 ​ Date(Long time):根据传入的毫秒值时间创建日期对象 B.成员方法 Long get ...

  3. 【Android 应用开发】Android - 时间 日期相关组件

    源码下载地址 : -- CSDN :  http://download.csdn.net/detail/han1202012/6856737 -- GitHub : https://github.co ...

  4. Android - 时间 日期相关组件

    源码下载地址 : -- CSDN :  http://download.csdn.net/detail/han1202012/6856737 -- GitHub : https://github.co ...

  5. 时间日期相关:Date类、DateFormat类、Calendar类

    1 Date类 类 Date 表示特定的瞬间,精确到毫秒. 1秒=1000毫秒 毫秒的0点:公元1970年 一月一日,午夜0:00:00 对应的毫秒值就是0 时间和日期的计算,必须依赖毫秒值. Sys ...

  6. Java 各种时间日期相关的操作

    目录 1.获取当前时间的时间戳 1.1.时间进制 1.2.获取毫秒级时间戳 1.3.获取纳秒级时间戳 2.java.util包 2.1.Data 2.2.Calendar 3.java.time包 3 ...

  7. Java基础 与时间日期相关的类:System -Date -SimpleDateFormat -Calendar类 -解决后缀.000Z 的时区问题

    笔记总结: /**与时间相关的类:System_Date_SimpleDateFormat_Calendar类 * 1.system 类下的currentTimeMillis() * 输出从1970年 ...

  8. Java 8 时间日期库的20个使用示例

    java 8是如何处理时间及日期的 有人问我学习一个新库的最佳途径是什么?我的回答是,就是在实际项目中那样去使用它.在一个真实的项目中会有各种各样的需求,这会促使开发人员去探索和研究这个新库.简言之, ...

  9. java8新的时间日期库及使用示例

    转自:https://www.cnblogs.com/comeboo/p/5378922.html 来自:Java译站 链接:http://it.deepinmind.com/java/2015/03 ...

  10. Java 8新的时间日期库的20个使用示例

    原文链接 作者:Javin Paul 译者:之诸暇 除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务示例来学 ...

随机推荐

  1. 汇总-软件-分类:SSH客户端工具

    官网-FinalShell 官网-Tabby GitHub-Tabby

  2. dart 学习笔记

    1.dart 下载安装,vscode 安装dart ,coderunner等 2.dart语法 1)需要入口函数main,或者void(没有返回值) main 2)定义变量 var str='kkk' ...

  3. css你所不知道技巧

    利用属性选择器来选择空链接 当 <a> 元素没有文本内容,但有 href 属性的时候,显示它的 href 属性: a[href^="http"]:empty::befo ...

  4. nginx转发tomcat之https不生效

    1.修改tomcat配置server.xml,让它从请求头中的X-Forwarded-Proto读取 <!-- xpath://Server/Service/Engine/Value --> ...

  5. js检测数组是否有重复的数据,

    function(arr){ let hash={} for (const key in arr){ if(hash[arr[key]]){ return true } hash[arr[key]]= ...

  6. 常用的js方法

    1. 声明和初始化数组 我们可以使用默认值(如"".null或 )初始化特定大小的数组0.您可能已经将这些用于一维数组,但如何初始化二维数组/矩阵呢? const array = ...

  7. 搭建 springboot 应用

    一.采用 Spring Initializr 搭建springboot应用 步骤: 1.只需要打开网址: https://start.spring.io/: 2.选择使用 Maven 构建,语言 ja ...

  8. 2023-03-03 js map 双重嵌套

    恩..其实也没啥要记录的,记住关键一点就是必须要有return,不管是几重,比如: arr.map((item, index) => {     return (         item.ar ...

  9. System.Diagnostics.Process.Start(); 用法详解

    来源:https://news.68idc.cn/buildlang/ask/20150104156981.html 实例代码:http://www.cppcns.com/ruanjian/cshar ...

  10. 读后笔记 -- Java核心技术(第11版 卷 II ) Chapter1 Java 8 的流库

    1.1 从迭代到流的操作 迭代:for, while 流:stream().优点:1)代码易读:2)性能优化 public class CountingLongWords { public stati ...