1 : 你可以回传smart pointer
2 : “智能指 针”并不完美,原始指针也不完美,c不完美,c++不完美,D不完美,java不完美,c#不完美,ruby
不完美,我想知道有什么是完美的?
如果没有技术是完美的,那么两相比较后,取缺点较少的,最适合你的来用就是了
3 : 应用范围很广,只要是跟资源管理扯上关系,在C++中他几乎都可以派上用场。其实smart pointer的
重点在于RAII的精神,既然你有读more effective和effective,那一定可以深刻体会到不靠RAII,
要在C++中写出exception safe的代码有多么的困难,程式肥大起来后更是让维护难度大增。和普通指标
的融合也很自然,只要用get或release就可以跟普通指标合作了
|