最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++實(shí)現(xiàn)獲取時(shí)間戳和計(jì)算運(yùn)行時(shí)長(zhǎng)

 更新時(shí)間:2024年12月16日 08:44:13   作者:訫悅  
這篇文章主要為大家詳細(xì)介紹了如何使用C++實(shí)現(xiàn)獲取時(shí)間戳和計(jì)算運(yùn)行時(shí)長(zhǎng)功能,文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考一下

一、便于使用,使用chrono封裝一個(gè)簡(jiǎn)單的類

#pragma once
 
#include <chrono>
 
using CTime_point = std::chrono::high_resolution_clock::time_point;
 
class CElapsedTime final
{
public:
    static CTime_point now() {
        return std::chrono::high_resolution_clock::now();
    }
 
    using s  = std::chrono::seconds;
    using ms = std::chrono::milliseconds;
    using us = std::chrono::microseconds;
    using ns = std::chrono::nanoseconds;
 
    //獲取當(dāng)前時(shí)間戳 類型: s/ms/us/ns
    template<typename T = CElapsedTime::ms> static long long since_epoch() {
        const auto now = std::chrono::system_clock::now();//時(shí)間戳要用 system_clock
        const auto sinceEpoch = std::chrono::duration_cast<T>(now.time_since_epoch());
        return sinceEpoch.count();
    }
 
    //計(jì)算時(shí)間差  類型: s/ms/us/ns
    template<typename T = CElapsedTime::ms>
    static long long duration(const CTime_point &begin, const CTime_point &end)
    {
        const auto delta = std::chrono::duration_cast<T>(end - begin);
        return delta.count();
    }
 
    const static long long _s  = 1;
    const static long long _ms = 1000;
    const static long long _us = 1000000;
    const static long long _ns = 1000000000;
    //計(jì)算時(shí)間差  返回浮點(diǎn)類型
    template<size_t T = CElapsedTime::_ms>
    static double duration(const CTime_point &begin, const CTime_point &end)
    {
        const std::chrono::duration<double, std::ratio<1, T>> delta = end - begin;
        return delta.count();
    }
};

二、直接調(diào)用

#include <stdlib.h>
#include <thread>
#include <iostream>
#include <iomanip>
#include "CElapsedTime.h"
 
int main(int argc, char *argv[])
{
#ifdef _WIN32
   _tzset();
   _putenv("_tz=GMT +8");
#else
    setenv("TZ", "Asia/Shanghai", 1);
#endif
 
    auto begin = CElapsedTime::now();
    std::this_thread::sleep_for(std::chrono::milliseconds(1230));//運(yùn)行時(shí)長(zhǎng)
    auto end = CElapsedTime::now();
 
    long long sinceEpoch = CElapsedTime::since_epoch();
    std::cout << "since epoch: " << sinceEpoch  << std::endl;
 
    std::cout << "run(s):  " << CElapsedTime::duration<CElapsedTime::s>(begin, end)  << std::endl;
    std::cout << "run(ms): " << CElapsedTime::duration<CElapsedTime::ms>(begin, end) << std::endl;
    std::cout << "run(us): " << CElapsedTime::duration<CElapsedTime::us>(begin, end) << std::endl;
    std::cout << "run(ns): " << CElapsedTime::duration<CElapsedTime::ns>(begin, end) << std::endl;
 
    std::cout << "run(s):  " << std::fixed << std::setprecision(3) << CElapsedTime::duration<CElapsedTime::_s>(begin, end)  << std::endl;
    std::cout << "run(ms): " << std::fixed << std::setprecision(3) << CElapsedTime::duration<CElapsedTime::_ms>(begin, end) << std::endl;
    std::cout << "run(us): " << std::fixed << std::setprecision(3) << CElapsedTime::duration<CElapsedTime::_us>(begin, end) << std::endl;
    std::cout << "run(ns): " << std::fixed << std::setprecision(3) << CElapsedTime::duration<CElapsedTime::_ns>(begin, end) << std::endl;
 
    return 0;
}

運(yùn)行結(jié)果:

到此這篇關(guān)于C++實(shí)現(xiàn)獲取時(shí)間戳和計(jì)算運(yùn)行時(shí)長(zhǎng)的文章就介紹到這了,更多相關(guān)C++獲取時(shí)間戳內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c++中多重繼承與虛繼承的實(shí)現(xiàn)

    c++中多重繼承與虛繼承的實(shí)現(xiàn)

    本文介紹了C++中的多重繼承和虛繼承機(jī)制,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2026-03-03
  • 一文搞懂C++中string容器的構(gòu)造及使用

    一文搞懂C++中string容器的構(gòu)造及使用

    本文小編將帶大家學(xué)習(xí)最常見(jiàn)的一個(gè)引用類型——string容器,學(xué)習(xí)string容器的構(gòu)造、以及C++API中String類的常用方法,感興趣的可以了解一下
    2022-07-07
  • C++解密Chrome80版本數(shù)據(jù)庫(kù)的方法示例代碼

    C++解密Chrome80版本數(shù)據(jù)庫(kù)的方法示例代碼

    這篇文章主要介紹了C++解密Chrome80版本數(shù)據(jù)庫(kù)的方法示例代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • C語(yǔ)言實(shí)現(xiàn)魔方比賽管理系統(tǒng)

    C語(yǔ)言實(shí)現(xiàn)魔方比賽管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)魔方比賽管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • c++面試題字符串拷貝函數(shù)示例

    c++面試題字符串拷貝函數(shù)示例

    這個(gè)也算是企業(yè)招工里面比較常見(jiàn)的一道筆試面試題了,非常簡(jiǎn)單。個(gè)人覺(jué)得考的主要是對(duì)指針使用的熟練程度,還有對(duì)字符串類內(nèi)部原理的掌握程度
    2013-12-12
  • C語(yǔ)言零基礎(chǔ)講解指針和數(shù)組

    C語(yǔ)言零基礎(chǔ)講解指針和數(shù)組

    由于數(shù)據(jù)的表現(xiàn)形式多種多樣,還有字符型和其它的數(shù)值類型,因此僅有基本數(shù)據(jù)類型是不夠的。是否可以通過(guò)基本數(shù)據(jù)類型的組合抽象構(gòu)造其它的數(shù)據(jù)類型呢?下面是小編為大家?guī)?lái)的C語(yǔ)言數(shù)組與指針詳解的知識(shí)
    2022-04-04
  • C語(yǔ)言每日練習(xí)之二叉堆

    C語(yǔ)言每日練習(xí)之二叉堆

    這篇文章主要為大家介紹了C語(yǔ)言二叉堆,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • C++面向?qū)ο笾鄳B(tài)的實(shí)現(xiàn)和應(yīng)用詳解

    C++面向?qū)ο笾鄳B(tài)的實(shí)現(xiàn)和應(yīng)用詳解

    相信大家都知道面向?qū)ο蟮娜筇匦允欠庋b,繼承和多態(tài),下面這篇文章主要給大家介紹了關(guān)于C++面向?qū)ο笾鄳B(tài)的實(shí)現(xiàn)和應(yīng)用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-09-09
  • C語(yǔ)言 OpenCV實(shí)現(xiàn)柱面投影

    C語(yǔ)言 OpenCV實(shí)現(xiàn)柱面投影

    在做全景拼接的時(shí)候,為了保持圖片中的空間約束與視覺(jué)的一致性,需要進(jìn)行柱面投影,否則離中心圖像距離越遠(yuǎn)的圖像拼接后變形越大。本文將具體介紹一下這如何實(shí)現(xiàn),需要的可以參考一下
    2021-12-12
  • C++?多維數(shù)組詳解

    C++?多維數(shù)組詳解

    這篇文章主要介紹了C++?獲取數(shù)組大小、多維數(shù)組操作詳解,其實(shí)C++中沒(méi)有什么多維數(shù)組,所說(shuō)的多維數(shù)組其實(shí)就是數(shù)組的數(shù)組,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04

最新評(píng)論

门头沟区| 巨野县| 奉节县| 乐山市| 乐都县| 云龙县| 方山县| 商南县| 南投县| 库车县| 红桥区| 房产| 全椒县| 将乐县| 马关县| 霍邱县| 阆中市| 湖口县| 宁都县| 贡嘎县| 乌拉特后旗| 信阳市| 栾城县| 黎城县| 顺平县| 防城港市| 晋江市| 海阳市| 南昌市| 新余市| 东城区| 都江堰市| 尖扎县| 安新县| 遂川县| 改则县| 根河市| 霍邱县| 林西县| 阿拉善左旗| 萝北县|