由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 问一个constructor的问题 (转载)
相关主题
C++: exception: out-of-order execution?问个copy constructor的问题
pthread_create inside a constructor几个问题
有大侠讲讲RTTI和exception的问题么?question about Design Patterns
How to initialize object in constructor?C++问题,confusing...
一道 memset in C++的题C++ 用户定义exception的标准用法是什么?
what is the difference?请教一下,exception时,destructor一定会被调用么?
抠字眼:assignment and initialize in C++C++ 中 myobject * a =new myobject[n] 的问题
c++ initialize structTest your C++ knowledge...
相关话题的讨论汇总
话题: 释放话题: object话题: leak
进入Programming版参与讨论
1 (共1页)
g***j
发帖数: 1275
1
【 以下文字转载自 JobHunting 讨论区 】
发信人: gmadj (姑妈爱大舅), 信区: JobHunting
标 题: 问一个constructor的问题
发信站: BBS 未名空间站 (Sat Oct 13 10:59:01 2012, 美东)
当constructor里面的某个member在initialization的时候fail了,到底会有memory
leak么?其他的已经完成的member到底由谁来释放?是系统自己自动释放还是需要在
catch exception之后用户写代码来自己释放?
我曾经看过说“C++里面没有partially constructed object, 只有full constructed
object”,难道不是说没有memory leak么?
为什么在Effective C++里面有这样一句话“if an exception is thrown during
construction of an object, any parts of the object that have already been
fully constructed are automatically destroyed”,这是不是说,只要throw
exception就够了,不需要在catch之后在代码里面释放? 如果这样,是不是说哪怕
fail也没有memory leak了?
总之,这个地方很confuse,谁来解释一下?
g*****y
发帖数: 7271
2
member variables会自动释放,但是如果你是用的pointer指向自己new出来的memory的
话,你就得自己释放。所以建议是用smart pointer作为member,不要用raw pointer

constructed

【在 g***j 的大作中提到】
: 【 以下文字转载自 JobHunting 讨论区 】
: 发信人: gmadj (姑妈爱大舅), 信区: JobHunting
: 标 题: 问一个constructor的问题
: 发信站: BBS 未名空间站 (Sat Oct 13 10:59:01 2012, 美东)
: 当constructor里面的某个member在initialization的时候fail了,到底会有memory
: leak么?其他的已经完成的member到底由谁来释放?是系统自己自动释放还是需要在
: catch exception之后用户写代码来自己释放?
: 我曾经看过说“C++里面没有partially constructed object, 只有full constructed
: object”,难道不是说没有memory leak么?
: 为什么在Effective C++里面有这样一句话“if an exception is thrown during

b*******s
发帖数: 5216
3
smart pointers和containers一起用时,有时有点问题

【在 g*****y 的大作中提到】
: member variables会自动释放,但是如果你是用的pointer指向自己new出来的memory的
: 话,你就得自己释放。所以建议是用smart pointer作为member,不要用raw pointer
:
: constructed

1 (共1页)
进入Programming版参与讨论
相关主题
Test your C++ knowledge...一道 memset in C++的题
C++ questionswhat is the difference?
copy constructor问题。抠字眼:assignment and initialize in C++
C++编程原则的问题c++ initialize struct
C++: exception: out-of-order execution?问个copy constructor的问题
pthread_create inside a constructor几个问题
有大侠讲讲RTTI和exception的问题么?question about Design Patterns
How to initialize object in constructor?C++问题,confusing...
相关话题的讨论汇总
话题: 释放话题: object话题: leak