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

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

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

一、便于使用,使用chrono封裝一個簡單的類

#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)前時間戳 類型: s/ms/us/ns
    template<typename T = CElapsedTime::ms> static long long since_epoch() {
        const auto now = std::chrono::system_clock::now();//時間戳要用 system_clock
        const auto sinceEpoch = std::chrono::duration_cast<T>(now.time_since_epoch());
        return sinceEpoch.count();
    }
 
    //計算時間差  類型: 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;
    //計算時間差  返回浮點(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)行時長
    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)獲取時間戳和計算運(yùn)行時長的文章就介紹到這了,更多相關(guān)C++獲取時間戳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    這篇文章主要為大家介紹了C語言二叉堆,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    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)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-09-09
  • C語言 OpenCV實(shí)現(xiàn)柱面投影

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

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

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

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

最新評論

阿克| 锡林浩特市| 分宜县| 西城区| 保靖县| 托克托县| 增城市| 茌平县| 福州市| 綦江县| 灵武市| 柯坪县| 陵川县| 大新县| 九寨沟县| 镇原县| 文山县| 华阴市| 连南| 徐水县| 汪清县| 扎鲁特旗| 藁城市| 吉安县| 梨树县| 高阳县| 全州县| 邓州市| 海林市| 朝阳区| 东安县| 太湖县| 襄垣县| 玉门市| 彭州市| 南阳市| 元江| 日照市| 抚松县| 郑州市| 四平市|