|
I wasn't necessarily agreeing or disagreeing with John's comment. I meant more to open up a
discussion.
As far as destructors goes, I agree. It makes no sense. Destructors aren't called explicitly
and when they are called, one would have to have complete knowledge of when. It could be during
the unwinding of another exception. It doesn't even make sense for something exceptional to
happen during destruction anyway.
For constructors, I don't throw exceptions either. Maybe I'm old-school, but I prefer a two-part
construction/initialization if error handling is necessary.
For constructors I don't agree that one shouldn't throw exceptions. I don't think exceptions
should be used for error handling, nor do I think they were meant to be used that way. IMO they
were meant for exceptional cirumstances - something that happens out of the programmer and user's
control that is unrecoverable.
For framework/library development, however, where a programmer may use a class the wrong way, it
may be ok. An exception during the design/implementation phase can be useful to me at that
stage, maybe providing enough info to show me immediately what I did wrong.
Just my rambling 2-cents
Cheers,
Mark
Mark Salsbery
Microsoft MVP - Visual C++
"Great job team! Head back to base for debriefing and cocktails."
|
|
|
|
|
Mark Salsbery wrote: Maybe I'm old-school, but I prefer a two-part
construction/initialization if error handling is necessary.
I must be old school, too, because that is along the lines of my thinking. I have never put exception handling in the constructors/destructors and I don't plan on doing so. That's my 2 cents
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
|
|
|
|
|
Mark Salsbery wrote: Mark Salsbery
Microsoft MVP - Visual C++
congrats for becoming MVP!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief
|
|
|
|
|
Thank you Alok!
Are you a Visual C++ MVP??
Mark
Mark Salsbery
Microsoft MVP - Visual C++
"Great job team! Head back to base for debriefing and cocktails."
|
|
|
|
|
Mark Salsbery wrote: Are you a Visual C++ MVP??
yeah i am Visual C++ MVP too! [ ] but it is secret
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief
|
|
|
|
|
ThatsAlok wrote: but it is secret
Well if I knew about it I'd say Congratulations to you as well! And I'd say I noticed you have
been an MVP for a while.
But since it's a secret, I know nothing
Cheers!
Mark
Mark Salsbery
Microsoft MVP - Visual C++
"Great job team! Head back to base for debriefing and cocktails."
|
|
|
|
|
Mark Salsbery wrote: And I'd say I noticed you have
been an MVP for a while.
i am mvp for past two year.. but still doing soul searching for same [ ].. he he he it nice to see you here
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief
|
|
|
|
|
I have used similar code in my remote communications classes. My DTOR will close the comm connection, but if the reason the DTOR is being called is because the connection was already broken/disconnected, I needed to ensure that no exception interrupted the normal DTOR chain.
It may not be quite what the C++ designers had in mind but it works. At least with MS VC++. Besides, if they didn't want it to work, it woud have explicitly stated so in the ARM.
|
|
|
|
|
|
I have a program codeing under VC2005.
Now,I add a code block which works well in VC6.
But when I add the block to my VC2005 project,there are some linking errors occured.
I know it because the codes using template .but why it would work under VC6?
GOOD LUCK.
|
|
|
|
|
What errors? What template?
Mark
Mark Salsbery
Microsoft MVP - Visual C++
"Great job team! Head back to base for debriefing and cocktails."
|
|
|
|
|
Now,I has found the problems.The codes used third part library with some templates it.I complied the third part library using VC2005,the error has gone.
Thanks all the same.
Best wishes
|
|
|
|
|
Change the original message's title to include this: "[SOLVED]"
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
But I am so sorry that I don't know how to change it.
Anybody would tell me how?
Thanks
|
|
|
|
|
How do I calculate the date given the starting date and the number of days?
For example, if I enter 15/07/2007 , and 3 weeks as the number of days. It should return me 05/08/2007.
Thanks
|
|
|
|
|
take a look at CTime and CTimeSpan
|
|
|
|
|
in continuation with above you can also use COleDateTime and COleDateTimeSpan
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief
|
|
|
|
|
|
kevinxli wrote: I want to use SSE
What parts of your code do you want to do this to? Have you looked at compiler flags to use SSE instructions?
"Any sort of work in VB6 is bound to provide several WTF moments." - Christian Graus
|
|
|
|
|
Paul Conrad wrote: What parts of your code do you want to do this to?
ConvertRGB2HSV(...) is too slow.I want to rewrite this function using SSE (C++ code with inline Assembly ,like as: _asm{ movaps xmm1,xmm2 ... })
|
|
|
|
|
Have you tried with the /arch:SSE flag set with full optimization? Sometimes it is easier to try and let the compiler do this kind of dirty work. If it doesn't increase the performance, then look into some inline assembly. I would only do the inline assembly where the code bottlenecks the worst.
---modified
You could try to unroll the two for loops for better cache utilization, as another thought
"Any sort of work in VB6 is bound to provide several WTF moments." - Christian Graus
|
|
|
|
|
Paul Conrad wrote: Have you tried with the /arch:SSE flag set with full optimization?
My compiler is VC6(SP5),not support this flag if like as "_asm{ movaps xmm1,xmm2 ...}" ,will Okey!(I'm sorry for my poor English)
|
|
|
|
|
Have you been able to do inline assembly with SSE instructions under VC6 before?
"Any sort of work in VB6 is bound to provide several WTF moments." - Christian Graus
|
|
|
|
|
Paul Conrad wrote: Have you been able to do inline assembly with SSE instructions under VC6 before?
Of course!
|
|
|
|
|
Okay, cool. I'd start chipping away small bits with inline assembly and see where it goes.
"Any sort of work in VB6 is bound to provide several WTF moments." - Christian Graus
|
|
|
|