zoukankan      html  css  js  c++  java
  • C++ 常用代码段整理

    1、检查内存泄漏:

    头文件

    // MS Visual C++ memory leak debug tracing
    #if defined(_MSC_VER) && defined(_DEBUG)
    #  define _CRTDBG_MAP_ALLOC
    #  include <crtdbg.h>
    #endif

    source文件

    // MS Visual C++ memory leak debug tracing
    #if defined(_MSC_VER) && defined(_DEBUG)
        _CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
    #endif

     

    2、使用c++11 新特性:

    // C++11 override
    #if defined(_MSC_VER) || (defined(__GNUC__) && (__GNUC__ >= 5)) 
      || (defined(__clang__) && (defined (__cplusplus)) && (__cplusplus >= 201103L)) 
      || defined(__CPPCHECK__)
    #  define OVERRIDE override
    #else
    #  define OVERRIDE
    #endif
    
    // C++11 noexcept
    #if (defined(__GNUC__) && (__GNUC__ >= 5)) 
      || (defined(__clang__) && (defined (__cplusplus)) && (__cplusplus >= 201103L)) 
      || defined(__CPPCHECK__)
    #  define NOEXCEPT noexcept
    #else
    #  define NOEXCEPT
    #endif
    
    // C++11 noreturn
    #if (defined(__GNUC__) && (__GNUC__ >= 5)) 
      || (defined(__clang__) && (defined (__cplusplus)) && (__cplusplus >= 201103L)) 
      || defined(__CPPCHECK__)
    #  define NORETURN [[noreturn]]
    #else
    #  define NORETURN
    #endif

    3、获取当前时间的time stamp.  获取的是当前区时下的当前时间。(秒级)

        time_t now = time(0);
        tm ltm;
        localtime_s(&ltm, &now);
        std::string sRet;
        char sRetBuf[80];
        sprintf_s(sRetBuf, sizeof(sRetBuf),
            "%4d/%02d/%02d %02d:%02d:%02d",
            (1900 + ltm.tm_year), (1 + ltm.tm_mon), (ltm.tm_mday),
            ltm.tm_hour, ltm.tm_min, ltm.tm_sec);        

    gmtime_s 和localtime_s 区别:

    (1).gmtime将time_t转换为UTC时间,UTC的全称为Coordinated Universal Time,即世界标准时间。

    (2).localtime将time_t转换为本地时间(local time)。北京时间比UTC时间早8小时。

    Note: 获取毫秒级的当前时间可以用getsystemtime();

            SYSTEMTIME st;
            GetSystemTime(&st);
  • 相关阅读:
    2019.8.30 玉米田
    2019暑假集训 最短路计数
    2019暑假集训 旅行计划
    2019暑假集训 文件压缩
    0033-数字和星期转换
    0032-分数等级转换
    0031-闰年判断
    0030-购买衣服
    0029-求最小的数
    0028-判断奇偶
  • 原文地址:https://www.cnblogs.com/taofengfeng/p/14343998.html
Copyright © 2011-2022 走看看