|
George_George wrote: e.g. member's destructor will always be called or not, even if I do not wrap them with auto_ptr
of course no destructor is called for objects allocated dynamically and assigned to standard (even if class member) pointers.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Thanks CPallini,
One more question, if the class member has destructor, even if
- we do not call it exeplicitly in the whole class's destructor;
- or because of exception execution flow, it is not executed
its destructor will be called when the current object instance destructs?
regards,
George
|
|
|
|
|
See here [^].
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Thanks CPallini!
I think here is the answer,
--------------------
In reverse order of construction: First constructed, last destructed.
In the following example, b's destructor will be executed first, then a's destructor:
void userCode()
{
Fred a;
Fred b;
...
}
--------------------
So, I think the answer to my question whether destructor of member variable will be called in the following two situations is -- yes, they must be called. Correct understanding?
- we do not call it exeplicitly in the whole class's destructor;
- or because of exception execution flow, it is not executed.
regards,
George
|
|
|
|
|
The destructors of member variables are always implicit called, so you have NOT to call them explicitely.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Thanks CPallini!
From your reply, I think in the two situations, as long as I implement the destructor of the members properly, they will be called finally without any issues. Correct?
- we do not call it exeplicitly in the whole class's destructor;
- or because of exception execution flow, it is not executed.
regards,
George
|
|
|
|
|
George_George wrote: I am not sure whether my concern is correct or no such issue -- e.g. member's destructor will always be called or not, even if I do not wrap them with auto_ptr?
You are kidding right? With all the esoteric question you ask around here when you don't even know how destructors work. That is exactly why in the past I suggested you stop investigating some of the issues you were on about. You need to stick to fundamentals until you get a firm grasp of them. Until then you are basically lost.
Ah yes, just below is yet another good example:
George_George wrote: For the following code, on x86 build, the output is
000000C8
000000C8
and on x64 build, the output is
CCCCCCCC000000C8
00000000000000C8
You are looking at and questioning what the compiler generates when you don't even know how destructors work. That makes no sense at all. It's even worse for someone that is constantly claiming they are trying to make sense of things.
led mike
|
|
|
|
|
You're still answering the bot, huh?
The history of "his" question topics is amazingly diverse,
sometimes just seemingly random.
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Couldn't agree more Mark.
Mark Salsbery wrote: The history of "his" question topics is amazingly diverse,
sometimes just seemingly random.
In my opinion it usually begins with a seemingly basic question about a small detail, but when the answer comes it blows up to something else where George clearly has not grasped the concept and he refers to another detail in some obscure MSDN article or similar. From that point on it takes a good book to explain to George how it really works. This means that I've stopped answering until his questions shows that he has actually paid some attention and learnt something.
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
Mark Salsbery wrote: sometimes just seemingly random.
Most of the time. He's just lost, but he sure maintains a great attitude with all the stuff hurled at him. It's hard to imagine that we will ever figure out what his deal is. He is the internet developer forum enigma.
led mike
|
|
|
|
|
Thanks for your encouragement, I will continue my work.
regards,
George
|
|
|
|
|
George_George wrote: I will continue my work.
Hey George, could we know what is your work?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
I like coding and take a lot of time study various coding issues. My purpose is to know as much as you know in 5 years.
regards,
George
|
|
|
|
|
CPallini wrote: Hey George, could we know what is your work?
Don't you know what an enigma is?
led mike
|
|
|
|
|
I guess kudos to George for getting at least two online
communities to do his research for him.
It still, however, makes me laugh that Microsoft's bot-
detection flagged him as a bot. THAT'S serious research!
He's going to end up writing the next killer app.
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Mark Salsbery wrote: It still, however, makes me laugh that Microsoft's bot-
detection flagged him as a bot.
Yeah, if nothing else, he is unique.
Mark Salsbery wrote: He's going to end up writing the next killer app.
Absolutely. By the way I have some outstanding land in florida for sale, you interested?
led mike
|
|
|
|
|
How about:
try
{
delete your_pointer;
}
catch (your thrown_exception on delete)
{
}
Anyway, what you've described seemed like an unhandled exception thrown in a loop.
I suggest you avoid using dynamic allocation without a smart pointer. If possible, use references on arguments to functions and members of your class. Using pointers usually leads to circular and redundant dependences.
Beware of your design. It is a very common practice to stack everything on "multi-purposed" classes. Every class has a purpose. If you stick with that in mind, probable your class will be split to several ones, and you'll find lots of issues.
|
|
|
|
|
Thanks gscotti!
1.
"If possible, use references on arguments to functions and members of your class" -- could you show some code please? I want to learn your best practice, but I do not understand until I see some code.
2.
gscotti wrote: Beware of your design. It is a very common practice to stack everything on "multi-purposed" classes. Every class has a purpose. If you stick with that in mind, probable your class will be split to several ones, and you'll find lots of issues.
Confused about your points above. Do you mean it is good practice to make a class big to contain a lot of stuff other than split?
regards,
George
|
|
|
|
|
Hi,
On Remarks section, MSDN documentation of CListCtrl:SetItemState its written that SetItemState may be used for hiding or disabling items on the List. I tried to find the state bits for hiding or disabling any item but i couldn't.
Do you have any idea?
Thanks,
Cem
|
|
|
|
|
I suppose the remark section is suggesting a usage (i.e. your application should implement it) for the bits not directly used by the List Control itself.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Hi all
I am trying to compile my project reach of templates but at one point I continuously receive the following errors
error C2471: cannot update program database 'і'
fatal error C1083: Cannot open program database file
followed by a long list of
fatal error C1090: PDB API call failed, error code '23' : '(
Looking for error C1090 Microsoft refers this error to something that sounds like "data allocation exceeds 64K ..The specified segment has grown beyond 32 kilobytes, the maximum for data segments. You will need to reduce the size of the segment."
My question is also "How to reduce the size of the segment" ? I was not able to find a way to dfo that?
Kind regards
ManuStone
|
|
|
|
|
I don't understand the exact nature of the problem, but it sounds like Visual Studio has become confused. In this situation resetting the state of your project will sometimes fix the error.
So, rename your Debug and Release folders (to eliminate them, but keep the possiblity of restoring them), and do a Rebuild Solution.
|
|
|
|
|
Yes, this tips was useful!
At the end my code compiles and my 3-days headache went away!
Ciao
Manustone
|
|
|
|
|
Hello there,
I've made ActiveX control which is used in my webpage to get client's system information.
I followed the article http://www.codeproject.com/KB/COM/CompleteActiveX.aspx[^] to create and sign the control.
In short I followed this steps:
1. the control is created and is marked as safe
2. The control is packaged into the cab file
3. The cab file is signed by class3 digital certificate issued by Thawte
4. The control is now embedded into the web-page.
The command used for creating cab file and signing it are
c:\cabsdk\bin\cabarc -s 6144 N SystemCheck.cab SystemCheck.ocx SystemCheck.inf
signcode -n "SystemCheck" -i http:
Now when I run the control it runs from most of the machines but from some machines it gives "Unknown publisher" Error.
The page is hosted online and is available at http://92.61.60.4/vod/SystemCheck1.htm[^]
Please note that I do not get unknown publisher error in all machines.
Thanks in advance...
|
|
|
|
|
Hi all,
I m using a Resizing property for List Control in Dialog an in FormView.
I want to get total size or total width of list control.
Can anybody tell me how can i get total size or total width of list control.
Thanks in advance.
IN A DAY, WHEN YOU DON'T COME ACROSS ANY PROBLEMS - YOU CAN BE SURE THAT YOU ARE TRAVELLING IN A WRONG PATH
|
|
|
|