• c++ 常用宏操作


    //求最大值和最小值
    #define MY_MAX( x, y ) ( ((x) > (y)) ? (x) : (y) )
    #define MY_MIN( x, y ) ( ((x) < (y)) ? (x) : (y) )

    //得到一个field在结构体(struct)中的偏移量
    //#define MY_FPOS( type, field ) ( (DWORD) &(( type *) 0)-> field )
    #define FPOS( type, field ) offsetof(type, field)

    //得到一个结构体中field所占用的字节数
    #define MY_FSIZ( type, field ) sizeof( ((type *) 0)->field )

    //得到一个字的高位和低位字节
    #define MY_WORD_LO(xxx) ((byte) ((WORD)(var) & 255))
    #define MY_WORD_HI(xxx) ((byte) ((WORD)(var) >> 8))

    //将一个字母转换为大写
    #define MY_UPCASE( c ) ( ((c) >= 'a' && (c) <= 'z') ? ((c) - 0x20) : (c) )

    //安全删除指针
    #define MY_SAFE_DELETE(p) do { if((p)!=NULL) { delete (p); (p) = NULL; } } while(0)
    #define MY_SAFE_DELETE_ARRAY(p) do { if((p)!=NULL) { delete[] (p); (p) = NULL; } } while(0)

    //安全删除指针
    #define MY_SAFE_FREE(p) do { if((p)!=NULL) { free (p); (p) = NULL; } } while(0)

    //计算数组长度
    #define MY_ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))

    //适用于非数组
    #define MY_SIZEOF(T) ((size_t)((T*)0 + 1))

    //适用于数组
    #define MY_ARRAY_SIZEOF(T) ((size_t)(&T+1)-(size_t)(&T))

    //数组初始化
    #define MY_ARRAY_ZERO_MEMORY(p) ZeroMemory(p, sizeof(p))

  • 相关阅读:
    __all__
    python内置函数
    qZnF新存马王至许观制两利各
    PHP中获取当前页面的完整URL
    DedeCms用tag调用全站相关文章
    dedecms如何利用tag来调取相关文章
    SQL Server TempDB
    SQL Server Pivot 隐藏group
    Rebind and Rewind in Execution Plans
    batch 数字进制的问题
  • 原文地址:https://www.cnblogs.com/longma8586/p/13907981.html
Copyright © 2020-2023  润新知