由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请教unique_ptr vs auto_ptr
相关主题
贴两道面试题二维数组参数怎么传好?
c++ new的一个问题One bug in my 3-way string quicksort implementation
贡献一道 C++ 题目一直没有很好理解thread join itself,哪位解惑一下
max sub vector sum 问题Leetcode上的Unique Paths II,我的code对吗?
BB电面知道这里计算机的大牛多,问个题目~
merge两个有序数组leetcode 3sum c++解法超时
java: use vector to shuffle a deck of Card 问题请教一个OOP的C++问题
请教两道CS题Unique Path II
相关话题的讨论汇总
话题: ptr话题: void话题: unique话题: vector话题: auto
进入JobHunting版参与讨论
1 (共1页)
z***u
发帖数: 105
1
问题:
下面的程序有什么问题?
void foo(void)
{
。。。。
vector v; //C是一个class
v.push_back(new C());
。。。。
}
答: 会有memoryleak。
问为什么可以用unique_ptr,而不能用auto_ptr呢?比如
void foo(void)
{
。。。。
vector< unique_ptr > v; //可以
//vector< auto_ptr > v; //不可以
v.push_back(new C());
。。。。
}
自己没答上来,请教为什么?
L********e
发帖数: 159
d**x
发帖数: 243
3
Only used shared_ptr or unique_ptr, never used auto_ptr.
s***n
发帖数: 373
4
如果v后面进行每一个元素free的话,
Memory leak 在哪?
[在 zizhu (windy) 的大作中提到:]
:问题:
:下面的程序有什么问题?
:void foo(void)
:{
:。。。。
: vector<C*> v; //C是一个class
: v.push_back(new C());
:。。。。
:}
:答: 会有memoryleak。
:..........
G****n
发帖数: 618
5
被free之前出现exception

【在 s***n 的大作中提到】
: 如果v后面进行每一个元素free的话,
: Memory leak 在哪?
: [在 zizhu (windy) 的大作中提到:]
: :问题:
: :下面的程序有什么问题?
: :void foo(void)
: :{
: :。。。。
: : vector<C*> v; //C是一个class
: : v.push_back(new C());

h*****e
发帖数: 1153
6
auto_ptr被淘汰了也是有原因的
h*******u
发帖数: 15326
7
异常都要处理的
程序崩了内存自动回收

【在 G****n 的大作中提到】
: 被free之前出现exception
G****n
发帖数: 618
8
那只是exit后的情况

★ 发自iPhone App: ChineseWeb 13

【在 h*******u 的大作中提到】
: 异常都要处理的
: 程序崩了内存自动回收

a*******g
发帖数: 1221
9
void foo(void)
{
。。。。
vector v; //C是一个class
v.push_back(new C());
。。。。
}
答: 如果能保证后来对vector中每一个元素都free,这么写完全没有问题。只有傻逼才
会在new之后忘了delete。
问为什么可以用unique_ptr,而不能用auto_ptr呢?比如
void foo(void)
{
。。。。
vector< unique_ptr > v; //可以
//vector< auto_ptr > v; //不可以
v.push_back(new C());
。。。。
}
答案见二楼的链接。
如果用unique_ptr的话就不用担心new delete之类的问题了。因为在foo调用结束的时
候,unique_str可以保证自动调用delete
h*******u
发帖数: 15326
10
你还想不exit?
这种code不能通过review

【在 G****n 的大作中提到】
: 那只是exit后的情况
:
: ★ 发自iPhone App: ChineseWeb 13

n*****n
发帖数: 5277
11
c++。。。。
G****n
发帖数: 618
12
不是所有的exception遇到了都要exit。

【在 h*******u 的大作中提到】
: 你还想不exit?
: 这种code不能通过review

h*******u
发帖数: 15326
13
所以说了对可能异常要处理好

【在 G****n 的大作中提到】
: 不是所有的exception遇到了都要exit。
1 (共1页)
进入JobHunting版参与讨论
相关主题
Unique Path IIBB电面
InsertionSort和ShellSortmerge两个有序数组
一个c++题(exception handling)java: use vector to shuffle a deck of Card 问题
select2perform上面C++测试挺头疼的请教两道CS题
贴两道面试题二维数组参数怎么传好?
c++ new的一个问题One bug in my 3-way string quicksort implementation
贡献一道 C++ 题目一直没有很好理解thread join itself,哪位解惑一下
max sub vector sum 问题Leetcode上的Unique Paths II,我的code对吗?
相关话题的讨论汇总
话题: ptr话题: void话题: unique话题: vector话题: auto