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);
  • 相关阅读:
    正则获取HTML代码中img的src地址
    System.Diagnostics.Process 启动进程资源或调用外部的命令的使用
    按位取反运算符~
    Nhibernate Query By Criteria 条件查询
    Unit Test测试框架中的测试的执行顺序
    Jquery自定义插件之$.extend()、$.fn和$.fn.extend()
    如何采集QQ群中所有成员QQ号码
    Sql server使用Merge关键字做插入或更新操作
    c#类库和可移值类库的区别
    VS代码管理插件AnkhSvn
  • 原文地址:https://www.cnblogs.com/taofengfeng/p/14343998.html
Copyright © 2011-2022 走看看