宏的应用
来源:互联网 发布:浙江淘宝网络有限公司 编辑:程序博客网 时间:2024/06/01 23:53
<pre name="code" class="cpp">#define DU_MACRO_NEW_BASIC_ARRAY(p, T, n) p = new T[(n)]; memset(p, 0, sizeof(T) * (n));#define DU_MACRO_ARRAY_ELEMENT_COUNT(ary) (sizeof(ary) / sizeof(ary[0]))#define DU_MACRO_SAFE_DELETE_PTR(p) if (NULL != (p)) {delete (p); (p) = NULL;}#define DU_MACRO_SAFE_DELETE_PTR_ARRAY(p) if (NULL != (p)) {delete[] (p); (p) = NULL;}#define DU_MACRO_SAFE_DELETE_OBJECT(h) if (NULL != (h)) {::DeleteObject(h);}#define DU_MACRO_SAFE_CLOSE_HANDLE(h) if (NULL != (h)) {::CloseHandle(h);}#define DU_MACRO_SAFE_DESTROY_WND_PTR(p) if (NULL != (p)) {if (NULL != (p)->m_hWnd) (p)->DestroyWindow();}#define DU_MACRO_ASSERT_FALSE_RETURN_FALSE(p) if (!(p)) {ASSERT(FALSE); return FALSE;}#define DU_MACRO_ASSERT_NULL_RETURN_FALSE(p) if (NULL == (p)) {ASSERT(FALSE); return FALSE;}#define DU_MACRO_ASSERT_NULL_RETURN_NULL(p) if (NULL == (p)) {ASSERT(FALSE); return NULL;}#define DU_MACRO_ASSERT_NULL_CONTINUE(p) if (NULL == (p)) {ASSERT(FALSE); continue;}#define DU_MACRO_ASSERT_NULL_BREAK(p) if (NULL == (p)) {ASSERT(FALSE); break;}#define DU_MACRO_ASSERT_NULL_RETURN(p) if (NULL == (p)) {ASSERT(FALSE); return;}#define DU_MACRO_SET_GET(T, N, V) \public : \ T Get##V() const {return m_##N##V;} \ T& Get##V##Ref() {return m_##N##V;} \ T* Get##V##Ptr() {return &m_##N##V;} \ void Set##V(const T t) {m_##N##V = (t);} \ void Set##V##Ref(const T& t) {m_##N##V = (t);} \ void Set##V##Ptr(const T* p) {m_##N##V = (*p);}#define DU_MACRO_GET_OBJECT_POINTER(T, N, V) \public: \ T * Get##V##Ptr() {return &m_##N##V;}#define DU_MACRO_SET_GET_POINTER(T, M) \public : \ T * Get##M() const {return m_p##M;} \ void Set##M(T * m) {m_p##M = m;}#define DU_MACRO_SET_GET_STRING(M) \public : \ LPCTSTR Get##M() const {return m_str##M;} \ void Set##M(LPCTSTR m) {m_str##M = m;}
0 0
- 宏#和##的应用
- 宏的高级应用
- 宏的应用
- freemarker宏的应用
- 宏的应用
- 宏的高级应用
- C中宏的应用
- 关于宏的有趣应用
- 关于宏的一个应用
- C语言宏的应用
- 转:宏的高级应用
- #define 宏函数的应用
- 宏定义的简单应用
- 颜色宏定义的应用
- pivot 的应用,有图有应用
- Servlet应用---HttpServletRequest的应用
- Servlet应用---HttpServletRequest的应用
- Servlet应用---HttpServletRequest的应用
- Android开发注意点及android第三方架构
- 算法-java(2)
- 调用手机打电话发信息等
- java基本数据类型与二进制
- spring多数据源配置
- 宏的应用
- 算法的力量 李开复
- ConcurrentHashMap和HashMap的区别
- 有用的git使用链接
- #每日一题#腾讯笔试题
- c#中Enum 的遍历
- java中IP地址、主机名的获取
- js 字符串转换数字
- 今日头条