digitalmars.D.learn - Object removing own last reference.
- strtr (18/18) Jun 24 2010 void externalFunc(){}
- marksibly (3/3) Jun 24 2010 Hi,
- Simen kjaeraas (4/22) Jun 25 2010 A reference to it will still be on the stack, so it should be no problem...
- strtr (2/26) Jun 25 2010 The "this" marksibly mentioned. Thanks peoples ;)
void externalFunc(){} class C { .. int index_; int yay; void removeMe() { //remove last reference to this object objects[_index] = null; //other critical code memberFunc(); externalFunc(); } void memberFunc(){yay++} } Is there anything unsafe about his code? Like the GC removing the Object before calling memberFunc..
Jun 24 2010
Hi, Shouldn't be as 'this' will keep the object alive as long as necessary. Mark
Jun 24 2010
strtr <strtr sp.am> wrote:void externalFunc(){} class C { .. int index_; int yay; void removeMe() { //remove last reference to this object objects[_index] = null; //other critical code memberFunc(); externalFunc(); } void memberFunc(){yay++} } Is there anything unsafe about his code? Like the GC removing the Object before calling memberFunc..A reference to it will still be on the stack, so it should be no problem. -- Simen
Jun 25 2010
== Quote from Simen kjaeraas (simen.kjaras gmail.com)'s articlestrtr <strtr sp.am> wrote:The "this" marksibly mentioned. Thanks peoples ;)void externalFunc(){} class C { .. int index_; int yay; void removeMe() { //remove last reference to this object objects[_index] = null; //other critical code memberFunc(); externalFunc(); } void memberFunc(){yay++} } Is there anything unsafe about his code? Like the GC removing the Object before calling memberFunc..A reference to it will still be on the stack, so it should be no problem.
Jun 25 2010