一件有意思的事情:关于std::string和std::auto_ptr

因为某些原因
将自己的一些库(VC7.1)给另一个同事用
他用的是VC6

……
发现编译报错!?!!
竟然说是std::string::clear 和 std::auto_ptr::reset没有!!!
查了一下P。J那恶心的源码(因为这STL是商业化版本,于是他故意使用混淆器打乱过的,也就是说他手上有一份“完好的”,给咱们的却是面目全非的!这个死鬼XD,还好我们有STLPort)
果然没有

……
google~~~
原来是因为在VC6出世的那个年代
std::string::clear这个method尚只是草案
而std::auto_ptr::reset更是迟迟没有standardization

……
作为替代
clear可以用erase(begin(), end())取代(其本身实现也是如此)
reset可以用release()取代“释放”的动作,另一个所有权转移动作就没办法了

P。J & VC6~~~~~~~~~  go die go die!!!

转载于:https://www.cnblogs.com/oiramario/archive/2006/03/14/349831.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值