|
|
Home » Community » Coffee corner » Thoughts about resource management
Thoughts about resource management [message #30800] |
Sun, 23 January 2011 16:28  |
Mindtraveller
Messages: 917 Registered: August 2007 Location: Russia, Moscow rgn.
|
Experienced Contributor |

|
|
You of course know "everything belongs somewhere" approach. If you tried it, you most probably know it as simple and effective way of getting rid of resource management problems. Simply speaking, you equalize visibility of object and period of its life by defining resource as stack object of parent class.
This works good for simple cases where resource lives constantly, starting with constructor of its parent until parent destructor is called.
But sometimes we meet more complex scenario, when resource is destroyed and re-created many times while program is working. We of course have Ptr/Pte wrappers. And I use them havily in these cases. Of course we may use public parent member functions which manage this resource for it not to violate our general approach.
But in my opinion we should discuss "everything belongs somewhere" for complex scenarios and widen U++ manual a little. Because complex scenarios is where smart pointers live, and we have to avoid mixing them with "U++ style".
[Updated on: Sun, 23 January 2011 16:30] Report message to a moderator
|
|
|
Re: Thoughts about resource management [message #30807 is a reply to message #30800] |
Sun, 23 January 2011 23:48   |
 |
mirek
Messages: 14255 Registered: November 2005
|
Ultimate Member |
|
|
Mindtraveller wrote on Sun, 23 January 2011 10:28 | You of course know "everything belongs somewhere" approach. If you tried it, you most probably know it as simple and effective way of getting rid of resource management problems. Simply speaking, you equalize visibility of object and period of its life by defining resource as stack object of parent class.
This works good for simple cases where resource lives constantly, starting with constructor of its parent until parent destructor is called.
But sometimes we meet more complex scenario, when resource is destroyed and re-created many times while program is working. We of course have Ptr/Pte wrappers. And I use them havily in these cases. Of course we may use public parent member functions which manage this resource for it not to violate our general approach.
But in my opinion we should discuss "everything belongs somewhere" for complex scenarios and widen U++ manual a little. Because complex scenarios is where smart pointers live, and we have to avoid mixing them with "U++ style".
|
I do not know, well, maybe it is I am far used and invested to U++ approach, but I believe those complex scenarios are simply the result of "not trying hard enough" to avoid such situations.
Sometimes it took me time and effort to rethink the whole design to fit U++, but in the end it always ended simpler and faster than using shared ownership.
But I agree it is not always that obvious...
|
|
|
|
|
Re: Thoughts about resource management [message #30839 is a reply to message #30838] |
Mon, 24 January 2011 18:34   |
 |
fudadmin
Messages: 1321 Registered: November 2005 Location: Kaunas, Lithuania
|
Ultimate Contributor Administrator |
|
|
Mindtraveller wrote on Mon, 24 January 2011 17:14 |
I was wondering if U++ approach is good for resources with dynamic lifetime.
|
Yes, I knew it was not the exact answer. Have you studied DynamicDlg
Also, how keyboard shortcuts and color settings for TheIde are implemented?
Also, maybe, Qtf and RichEdit (table, in particular)?
Maybe to start a topic with a concrete example?
[Updated on: Mon, 24 January 2011 18:35] Report message to a moderator
|
|
|
|
Goto Forum:
Current Time: Tue Apr 29 08:17:23 CEST 2025
Total time taken to generate the page: 0.00648 seconds
|
|
|