English 中文(简体)
自毁物体
原标题:Self destructing objects
  • 时间:2010-10-06 23:23:27
  •  标签:
  • c++

只是想知道一个物体是否可以自毁。

考虑一下这种情况。

扩展线程对象的对象。

Session : Thread
{
  Session() {}
  ~Session() {}

  ThreadMain()
  {
     while(!done){
       /* do stuff ... */
       ... 
       // something sets done = true;
     }

     ~Client();
  }
};


void start_session()
{
   Session* c = new Session();
   Session->Start();
   // when I exit here, I ve lost my reference to s.  But if the object
   // self destructs when done, I don t need it right?
}

Somewhere along the way, we have a function called start_session which starts a session. Eventually the session ends.

In the conventional approach I would have to have some sort of list of Session objects placed in that list after calling new.

To clean up the objects I d have to figure out which ones are finished and call a cleanup function later.

我想,如果他们能自己清理一下,可能会更有意义。能做到吗?

为什么?为什么不呢?更好的方法?

最佳回答

当会话循环退出时,可以执行“删除此”

但请参阅https://isocpp.org/wiki/faq/freestore-mgmt

问题回答

暂无回答




相关问题
Undefined reference

I m getting this linker error. I know a way around it, but it s bugging me because another part of the project s linking fine and it s designed almost identically. First, I have namespace LCD. Then I ...

C++ Equivalent of Tidy

Is there an equivalent to tidy for HTML code for C++? I have searched on the internet, but I find nothing but C++ wrappers for tidy, etc... I think the keyword tidy is what has me hung up. I am ...

Template Classes in C++ ... a required skill set?

I m new to C++ and am wondering how much time I should invest in learning how to implement template classes. Are they widely used in industry, or is this something I should move through quickly?

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

typedef ing STL wstring

Why is it when i do the following i get errors when relating to with wchar_t? namespace Foo { typedef std::wstring String; } Now i declare all my strings as Foo::String through out the program, ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

Window iconification status via Xlib

Is it possible to check with the means of pure X11/Xlib only whether the given window is iconified/minimized, and, if it is, how?

热门标签