由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - Smart Pointer
相关主题
c++ 里用到pointer 的地方我们尽可能用smart pointer吗?一个小问题
关于多个smart pointer系统并存的问题怎么准备一些hardcore C++的interview (转载)
shared_ptr处理stack上面的指针new and delete in c++
c++里 weak_ptr用起来是不是耗时间?delete this problem
琢磨了一下c++ smart pointer,发现不能到处用C++ pointer problem
is smart_ptr really that good?请问:Auto_Ptr、Smart Ptr 和 Reference Counting是什么关系? (转载)
一个简单的小问题a c++ question
问个C++中重复删除指针的问题请教 C++的一个困惑 (operator delete)
相关话题的讨论汇总
话题: ptr话题: boost话题: pointer话题: delete话题: smart
进入Programming版参与讨论
1 (共1页)
n****d
发帖数: 22
1
在真实世界里,c++ programmer真的用smart pointer吗? 还只是学术界意淫的一个对
象 ?
s****y
发帖数: 2052
2
想用啊,但是组里貌似没有人用。

【在 n****d 的大作中提到】
: 在真实世界里,c++ programmer真的用smart pointer吗? 还只是学术界意淫的一个对
: 象 ?

D*******a
发帖数: 3688
3
确实有用shared_ptr

【在 n****d 的大作中提到】
: 在真实世界里,c++ programmer真的用smart pointer吗? 还只是学术界意淫的一个对
: 象 ?

A**u
发帖数: 2458
4
真的啊
boost里的shared_ptr用的最多啦

【在 n****d 的大作中提到】
: 在真实世界里,c++ programmer真的用smart pointer吗? 还只是学术界意淫的一个对
: 象 ?

O*******d
发帖数: 20343
5
用。 我大量使用boost:shared_ptr

【在 n****d 的大作中提到】
: 在真实世界里,c++ programmer真的用smart pointer吗? 还只是学术界意淫的一个对
: 象 ?

O*******d
发帖数: 20343
6
我们组的要求是,写的码中不能使用delete。 如果使用了delete,就必须重写。
C***y
发帖数: 2546
7
都必须封装在destructor里面?

【在 O*******d 的大作中提到】
: 我们组的要求是,写的码中不能使用delete。 如果使用了delete,就必须重写。
O*******d
发帖数: 20343
8
都用boost::shared_ptr, boost::scoped_ptr, boost::shared_array, boost::scoped
_array 或者用std::auto_ptr. 人家把delete已经封装好了。不需要自己封装。 使用
smart pointer的好处是,一来不需要注意delete,二来是exception safe. 说到
exception, 我们这里认为它比goto还要糟糕,所以禁止使用。

【在 C***y 的大作中提到】
: 都必须封装在destructor里面?
O*******d
发帖数: 20343
9
例如, 一个指针传入函数,如果用完后需要delete
一般的写法是
void foo(int* pInt)
{
...
...
delete pInt;
}
我们的要求写法是
void foo(int* pInt)
{
std::auto_ptr p(pInt);
...
...
}
y*******g
发帖数: 6599
10
当然用啊,比如你看看webkit的代码,里面大量的smart pointer,
http://www.webkit.org/coding/RefPtr.html

【在 n****d 的大作中提到】
: 在真实世界里,c++ programmer真的用smart pointer吗? 还只是学术界意淫的一个对
: 象 ?

相关主题
is smart_ptr really that good?一个小问题
一个简单的小问题怎么准备一些hardcore C++的interview (转载)
问个C++中重复删除指针的问题new and delete in c++
进入Programming版参与讨论
O*******d
发帖数: 20343
11
或者
void foo(int* pInt)
{
boost::scoped_ptr p(pInt);
...
...
}
C***y
发帖数: 2546
12
我们的code也是exception free的
所以可以把delete放在自己定义的final里面

scoped

【在 O*******d 的大作中提到】
: 都用boost::shared_ptr, boost::scoped_ptr, boost::shared_array, boost::scoped
: _array 或者用std::auto_ptr. 人家把delete已经封装好了。不需要自己封装。 使用
: smart pointer的好处是,一来不需要注意delete,二来是exception safe. 说到
: exception, 我们这里认为它比goto还要糟糕,所以禁止使用。

O*******d
发帖数: 20343
13
我们建造class member时,也是使用shared_ptr. 到最后自己delete。

【在 C***y 的大作中提到】
: 我们的code也是exception free的
: 所以可以把delete放在自己定义的final里面
:
: scoped

O*******d
发帖数: 20343
14
使用shared_ptr作为class member的好处是,除了自动delete之外,delete的顺序自动
是成员创建的逆顺序。
C***y
发帖数: 2546
15
幸福啊,可以用新特性
我们很苦逼,用自己的smart pointer
跟外界脱节了

【在 O*******d 的大作中提到】
: 我们建造class member时,也是使用shared_ptr. 到最后自己delete。
O*******d
发帖数: 20343
16
boost库很丰富啊,为什么不用?

【在 C***y 的大作中提到】
: 幸福啊,可以用新特性
: 我们很苦逼,用自己的smart pointer
: 跟外界脱节了

C***y
发帖数: 2546
17
如果constructor里面抛异常,shared_ptr能handle吗?

【在 O*******d 的大作中提到】
: 使用shared_ptr作为class member的好处是,除了自动delete之外,delete的顺序自动
: 是成员创建的逆顺序。

C***y
发帖数: 2546
18
原因很多
主要是开始写的时候没有boost,连stl好像都还不成熟
还有就是完全基于return value的,所以可能抛异常的都不用

【在 O*******d 的大作中提到】
: boost库很丰富啊,为什么不用?
O*******d
发帖数: 20343
19
不能。 需要自己处理。

【在 C***y 的大作中提到】
: 如果constructor里面抛异常,shared_ptr能handle吗?
g*****y
发帖数: 7271
20
不给用异常我都不会写程序了,你们怎么禁止vector resize抛异常,或者你们都用
malloc,而不用new?

scoped

【在 O*******d 的大作中提到】
: 都用boost::shared_ptr, boost::scoped_ptr, boost::shared_array, boost::scoped
: _array 或者用std::auto_ptr. 人家把delete已经封装好了。不需要自己封装。 使用
: smart pointer的好处是,一来不需要注意delete,二来是exception safe. 说到
: exception, 我们这里认为它比goto还要糟糕,所以禁止使用。

相关主题
delete this problema c++ question
C++ pointer problem请教 C++的一个困惑 (operator delete)
请问:Auto_Ptr、Smart Ptr 和 Reference Counting是什么关系? (转载)请问delete的问题
进入Programming版参与讨论
g*****y
发帖数: 7271
21
你们要是要求exception free的话,就没什么可能用stl,boost之类的了吧?

【在 C***y 的大作中提到】
: 幸福啊,可以用新特性
: 我们很苦逼,用自己的smart pointer
: 跟外界脱节了

C***y
发帖数: 2546
22
vector啥都是山寨的。。。

【在 g*****y 的大作中提到】
: 你们要是要求exception free的话,就没什么可能用stl,boost之类的了吧?
n****d
发帖数: 22
23
在真实世界里,c++ programmer真的用smart pointer吗? 还只是学术界意淫的一个对
象 ?
s****y
发帖数: 2052
24
想用啊,但是组里貌似没有人用。

【在 n****d 的大作中提到】
: 在真实世界里,c++ programmer真的用smart pointer吗? 还只是学术界意淫的一个对
: 象 ?

D*******a
发帖数: 3688
25
确实有用shared_ptr

【在 n****d 的大作中提到】
: 在真实世界里,c++ programmer真的用smart pointer吗? 还只是学术界意淫的一个对
: 象 ?

A**u
发帖数: 2458
26
真的啊
boost里的shared_ptr用的最多啦

【在 n****d 的大作中提到】
: 在真实世界里,c++ programmer真的用smart pointer吗? 还只是学术界意淫的一个对
: 象 ?

O*******d
发帖数: 20343
27
用。 我大量使用boost:shared_ptr

【在 n****d 的大作中提到】
: 在真实世界里,c++ programmer真的用smart pointer吗? 还只是学术界意淫的一个对
: 象 ?

O*******d
发帖数: 20343
28
我们组的要求是,写的码中不能使用delete。 如果使用了delete,就必须重写。
C***y
发帖数: 2546
29
都必须封装在destructor里面?

【在 O*******d 的大作中提到】
: 我们组的要求是,写的码中不能使用delete。 如果使用了delete,就必须重写。
O*******d
发帖数: 20343
30
都用boost::shared_ptr, boost::scoped_ptr, boost::shared_array, boost::scoped
_array 或者用std::auto_ptr. 人家把delete已经封装好了。不需要自己封装。 使用
smart pointer的好处是,一来不需要注意delete,二来是exception safe. 说到
exception, 我们这里认为它比goto还要糟糕,所以禁止使用。

【在 C***y 的大作中提到】
: 都必须封装在destructor里面?
相关主题
C++ 的 exception handling关于多个smart pointer系统并存的问题
aggregation vs. compostion. vs. associationshared_ptr处理stack上面的指针
c++ 里用到pointer 的地方我们尽可能用smart pointer吗?c++里 weak_ptr用起来是不是耗时间?
进入Programming版参与讨论
O*******d
发帖数: 20343
31
例如, 一个指针传入函数,如果用完后需要delete
一般的写法是
void foo(int* pInt)
{
...
...
delete pInt;
}
我们的要求写法是
void foo(int* pInt)
{
std::auto_ptr p(pInt);
...
...
}
y*******g
发帖数: 6599
32
当然用啊,比如你看看webkit的代码,里面大量的smart pointer,
http://www.webkit.org/coding/RefPtr.html

【在 n****d 的大作中提到】
: 在真实世界里,c++ programmer真的用smart pointer吗? 还只是学术界意淫的一个对
: 象 ?

O*******d
发帖数: 20343
33
或者
void foo(int* pInt)
{
boost::scoped_ptr p(pInt);
...
...
}
C***y
发帖数: 2546
34
我们的code也是exception free的
所以可以把delete放在自己定义的final里面

scoped

【在 O*******d 的大作中提到】
: 都用boost::shared_ptr, boost::scoped_ptr, boost::shared_array, boost::scoped
: _array 或者用std::auto_ptr. 人家把delete已经封装好了。不需要自己封装。 使用
: smart pointer的好处是,一来不需要注意delete,二来是exception safe. 说到
: exception, 我们这里认为它比goto还要糟糕,所以禁止使用。

O*******d
发帖数: 20343
35
我们建造class member时,也是使用shared_ptr. 到最后自己delete。

【在 C***y 的大作中提到】
: 我们的code也是exception free的
: 所以可以把delete放在自己定义的final里面
:
: scoped

O*******d
发帖数: 20343
36
使用shared_ptr作为class member的好处是,除了自动delete之外,delete的顺序自动
是成员创建的逆顺序。
C***y
发帖数: 2546
37
幸福啊,可以用新特性
我们很苦逼,用自己的smart pointer
跟外界脱节了

【在 O*******d 的大作中提到】
: 我们建造class member时,也是使用shared_ptr. 到最后自己delete。
O*******d
发帖数: 20343
38
boost库很丰富啊,为什么不用?

【在 C***y 的大作中提到】
: 幸福啊,可以用新特性
: 我们很苦逼,用自己的smart pointer
: 跟外界脱节了

C***y
发帖数: 2546
39
如果constructor里面抛异常,shared_ptr能handle吗?

【在 O*******d 的大作中提到】
: 使用shared_ptr作为class member的好处是,除了自动delete之外,delete的顺序自动
: 是成员创建的逆顺序。

C***y
发帖数: 2546
40
原因很多
主要是开始写的时候没有boost,连stl好像都还不成熟
还有就是完全基于return value的,所以可能抛异常的都不用

【在 O*******d 的大作中提到】
: boost库很丰富啊,为什么不用?
相关主题
c++里 weak_ptr用起来是不是耗时间?一个简单的小问题
琢磨了一下c++ smart pointer,发现不能到处用问个C++中重复删除指针的问题
is smart_ptr really that good?一个小问题
进入Programming版参与讨论
O*******d
发帖数: 20343
41
不能。 需要自己处理。

【在 C***y 的大作中提到】
: 如果constructor里面抛异常,shared_ptr能handle吗?
g*****y
发帖数: 7271
42
不给用异常我都不会写程序了,你们怎么禁止vector resize抛异常,或者你们都用
malloc,而不用new?

scoped

【在 O*******d 的大作中提到】
: 都用boost::shared_ptr, boost::scoped_ptr, boost::shared_array, boost::scoped
: _array 或者用std::auto_ptr. 人家把delete已经封装好了。不需要自己封装。 使用
: smart pointer的好处是,一来不需要注意delete,二来是exception safe. 说到
: exception, 我们这里认为它比goto还要糟糕,所以禁止使用。

g*****y
发帖数: 7271
43
你们要是要求exception free的话,就没什么可能用stl,boost之类的了吧?

【在 C***y 的大作中提到】
: 幸福啊,可以用新特性
: 我们很苦逼,用自己的smart pointer
: 跟外界脱节了

C***y
发帖数: 2546
44
vector啥都是山寨的。。。

【在 g*****y 的大作中提到】
: 你们要是要求exception free的话,就没什么可能用stl,boost之类的了吧?
d***q
发帖数: 1119
45

boost shared_ptr is everywhere...

【在 n****d 的大作中提到】
: 在真实世界里,c++ programmer真的用smart pointer吗? 还只是学术界意淫的一个对
: 象 ?

1 (共1页)
进入Programming版参与讨论
相关主题
请教 C++的一个困惑 (operator delete)琢磨了一下c++ smart pointer,发现不能到处用
请问delete的问题is smart_ptr really that good?
C++ 的 exception handling一个简单的小问题
aggregation vs. compostion. vs. association问个C++中重复删除指针的问题
c++ 里用到pointer 的地方我们尽可能用smart pointer吗?一个小问题
关于多个smart pointer系统并存的问题怎么准备一些hardcore C++的interview (转载)
shared_ptr处理stack上面的指针new and delete in c++
c++里 weak_ptr用起来是不是耗时间?delete this problem
相关话题的讨论汇总
话题: ptr话题: boost话题: pointer话题: delete话题: smart