分享好友 最新动态首页 最新动态分类 切换频道
C++宏与智能指针技巧
2024-12-26 21:46

#ifndef WINVER
#define WINVER 0x0500
#endif

#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0500
#endif      

#ifndef _WIN32_WINDOWS
#define _WIN32_WINDOWS 0x0500
#endif

#ifndef _WIN32_IE
#define _WIN32_IE 0x0500 
#endif

#ifndef __FILE_LINE__

 #ifndef __STRINGER__
  #define __STRINGER__(x) #x
 #else
  #error "__STRINGER__ has been defined"
 #endif//__STRINGER__

 //1:expand macro value
 //2:value to string
 #ifndef __STR_MACRO__
  #define __STR_MACRO__(x) __STRINGER__(x)
 #else
  #error "__STR_MACRO__ has been defined"
 #endif//__STR_MACRO__

 #define __FILE_LINE__ __FILE__ "("__STR_MACRO__(__LINE__)"):/t"

#endif //__FILE_LINE__
//use example
//#pragma message(__FILE_LINE__"some message")


#ifndef ARRAY_ITEMS
#define ARRAY_ITEMS(array) (sizeof(array)/sizeof(array[0]))
#endif//ARRAY_ITEMS

#ifndef ARRAY_BEGIN
#define ARRAY_BEGIN(array) (&array[0])
#endif//ARRAY_BEGIN

#ifndef ARRAY_END
#define ARRAY_END(array) (ARRAY_BEGIN(array)+ARRAY_ITEMS(array))
#endif//ARRAY_END

#ifndef FIND_ARRAY_ITEM
#include <algorithm>
#define FIND_ARRAY_ITEM(array, value) (std::find(ARRAY_BEGIN(array),ARRAY_END(array),value)-ARRAY_BEGIN(array))
#endif//FIND_ARRAY_ITEM

#ifndef HAS_MASK
#define HAS_MASK(val, mask) (mask==(val&mask))
#endif //HAS_MASK


template<class T>
inline void SafeDelete(T*& p)
{
 if(NULL!=p)
 {
  delete p;
  p = NULL;
 }
}

template<class T>
inline T*& SafeNew(T*& p)
{
 SafeDelete(p);
 p = new T;
 return p;
}

template<class T>
inline void SafeFree(T*& p)
{
 if(NULL!=p)
 {
  free((void*)p);
  p = NULL;
 }
}

template<class T>
inline T*& SafeMalloc(T*& p, unsigned int nSize)
{
 SafeFree(p);
 p = (T*)malloc(nSize);
 return p;
}

 

 template< class T, eMemType eMT=eNew>
 class CSmartPtr
 {
 private:
  //strange declaretion
  template<class U, eMemType eUMT=eMT> friend class CSmartPtr;

.........

最新文章
微信,又变了点;阿里云发生火情?官方回应;腾讯视频调整VIP设备数权益;谷歌最新量子芯片取得重要突破丨大公司动态
【互联网】微信多人通话、最近转发等功能升级微信宣布多人通话功能升级,无需拉群就可使用。用户可直接在双人私聊语音通话界面中,点击+邀请更多朋友加入。目前该功能已经上线全iOS端微信,安卓端微信正在灰度测试中。此外,微信最近转发大
立马get!信管家期货软件:功能全面、操作便捷的投资利器
信管家是一款专为证券、期货公司设计的综合性投资管理工具,旨在帮助投资者高效管理资金和控制交易风险。作为国内主流的期货、证券及外汇行情显示软件,信管家支持国内外多个市场的实时行情及图表显示,满足24小时全球品种看盘需求。自推出
当我们在谈 AI Ready的时候,是在谈什么?
“AI Ready 即一个组织为有效利用人工智能(AI)构建竞争力而做好全面准备的状态。这种准备涉及到战略、技术、数据、流程、人员和文化等多个方面。”大部分企业在 AI 应用方面还存在许多限制和挑战,包括组织创新意识不
高级数据分析专员和学术专员有什么区别
岗位职责 1.观远ETL产出宽表和定期业务报表; 2.运用GrowingIO分析前台的用户行为数据,并且形成产品层面的数据报表; 3.梳理各个前台业务的「指标体系」并且落地,并且持续与业务Leader讨论并且完善之; 岗位要求 1、信息统计、数学及应用
珠海SEO优化费用全解析,性价比与服务双重考量
珠海SEO优化收费全解析,涵盖、服务及性价比。文章详细解读不同级别SEO优化方案,帮助读者了解市场行情,实现预算与效果的完美平衡。随着互联网的普及,越来越多的企业开始重视网络营销,SEO优化成为提升企业网站排名、增加流量的重要手段
优化关键词排名提高网站搜索引擎可见性
在当今数字化时代,网站已经成为企业重要的营销渠道。但是,一个成功的网站需要考虑到很多方面,其中包括网站的内容、设计、用户体验以及搜索引擎优化(SEO)。其中,关键词排名对于SEO至关重要,因为它可以提高网站的可见性和流量。本文将
OPPO K5如何一键获取root权限
想玩修改游戏,想运行XP框架,想用游戏脚本刷BOSS,苦于手机不能ROOT,找不到ROOT的方法,怕手机ROOT后不能保修。手机通过ROOT后,我们可以获得最高的手机管理权限,根据自己的喜好来对自己的手机进行个性化设置就成为了智能手机玩家最爱好
没有基础能学seo吗知乎
自学可以学会SEO。刚开始学习SEO,先找到SEO免费培训教程。例如,SEOSOZ;然后,按照SEO教程,持之以恒地学习,不半途而废,不断学习,温故知新;最后,执行学到的SEO知识。在实战过程中,不断改善自己的SEO技术,积累SEO经验。越来越多的
高曝光,低点击关键词的优化技巧,提升直通车点击率。
作者:白泽无论是在大促节日还是在平时的日常运营,大部分小伙伴都会遇到过一些高曝光点点击,甚至0点击量的关键词,这些关键词大部分都是我们直通车推广带来的,同时,这些高曝光的关键词的点击量和点击率都是非常低的,甚至没有点击量,
茂名SEO优化,助力企业互联网营销新篇章
随着互联网的快速发展,企业对于网络营销的需求日益增长。在众多互联网营销手段中,SEO作为一种低成本、高回报的营销方式,受到越来越多企业的青睐。地区作为我国重要的石化基地,众多企业纷纷投身于SEO优化,以期在激烈的市场竞争中脱颖而
相关文章
推荐文章
发表评论
0评