怎样返回一个指针。

众所周知,在、C++中是不能返回局部指针的,因为指针所指向的对象是局部的,出了函数就要消失,那么返回的指针将是野指针了。如:

CXXX*   ReturnPtr()

{

CXXX* ptr = NULL ;

ptr = .... ;

return ptr ;

}

解决办法之一就是 把ReturnPtr作为类的成员函数,返回类的对象的指针,这样出函数后指针所指向的对象还是存在的,如:

class CPtr

{

private:

CXXX* m_ptr ;

public:

CXXX* RetrunPtr() ;

}


CXXX* CPtr::ReturnPtr()

{

CXXX* ptr = NULL ;

ptr = m_ptr ;

return ptr ;

}

方法之二:返回传进来的指针,这样作用域也不会消失,如:

CXXX* ReturnPtr (CXXX* ptr)

{

ptr = ....// 对ptr进行一些处理

return ptr ;

}

如果后面还有其它的方法我会继续补充,如果大家还有更好的方法或情况,欢迎留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值