游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3318|回复: 7

这个智能指针好用吗 好象还少什么

[复制链接]

5

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
发表于 2008-9-17 10:42:00 | 显示全部楼层 |阅读模式
/************************************
          摸板
************************************/
template <typename T>
class AUTOPRT
{
public:
        AUTOPRT(){  prt=new T;}
        AUTOPRT(T* src){ prt=new T; (*prt)=(*src); }
        ~AUTOPRT() { LPRelease(prt);::MessageBox(0,"释放指针完毕","g",0); }
        T* operator->() {return prt;}
        operator T*() {return prt;}
        T** operator&() {return &prt;}

private:
        T* prt;
};


template <typename T>
class AUTOCOM
{
public:
        AUTOCOM(){}
        AUTOCOM(T* src){(*prt)=(*src);}
        ~AUTOCOM() { ComRelease(prt);::MessageBox(0,"释放COM接口完毕","g",0); }
        T* operator->() {return prt;}
        operator T*() {return prt;}
        T** operator&() {return &prt;}

private:
        T* prt;
};

5

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
 楼主| 发表于 2008-9-17 10:45:00 | 显示全部楼层

Re:这个智能指针好用吗 好象还少什么

//释放对象宏
#define ComRelease(pObject) if(pObject != NULL){pObject->Release(); pObject = NULL;}
#define LPRelease(pObject) if(pObject) {delete pObject;pObject=NULL;}

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20732
发表于 2008-9-17 21:54:00 | 显示全部楼层

Re:这个智能指针好用吗 好象还少什么

只是用来管理创建和释放可能价值并不是非常大。

5

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
 楼主| 发表于 2008-9-18 10:19:00 | 显示全部楼层

Re:这个智能指针好用吗 好象还少什么

谢谢

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2008-9-19 14:50:00 | 显示全部楼层

Re:这个智能指针好用吗 好象还少什么

关键是现在对于COM指针的返回值有2种习惯:
1 MS是在返回时由那个函数来增加引用计数(==总是强引用),
2 但很多人不愿意这样,即返回时那个函数不增加引用计数,而交给调用者决断(强还是弱引用)。

所以对于COM,不建议用智能指针,而是将COM中的常用功能包装成自己的类,然后采用自己的智能指针体系。

5

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
 楼主| 发表于 2008-9-20 10:07:00 | 显示全部楼层

Re:这个智能指针好用吗 好象还少什么

7

主题

438

帖子

438

积分

中级会员

Rank: 3Rank: 3

积分
438
发表于 2008-10-1 22:42:00 | 显示全部楼层

Re:这个智能指针好用吗 好象还少什么

第一个类最基本的几个操作还不行啊,复制构造,赋值操作等。没有引用计数的话,就只能容纳一个指针了哈,不是很有价值的说。

0

主题

769

帖子

1052

积分

金牌会员

Rank: 6Rank: 6

积分
1052
发表于 2009-3-9 02:11:00 | 显示全部楼层

Re:这个智能指针好用吗 好象还少什么

个人习惯不喜欢智能指针,这个东西往往不好控制,还是自己小心的去处理每个NEW出来的空间比较好
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-20 04:08

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表