Click here to Skip to main content
15,902,939 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Is this bad design (CComVariant) ? Pin
Bill Wilson14-Aug-02 13:13
Bill Wilson14-Aug-02 13:13 
GeneralRe: Is this bad design (CComVariant) ? Pin
Todd Smith14-Aug-02 13:17
Todd Smith14-Aug-02 13:17 
GeneralRe: Is this bad design (CComVariant) ? Pin
Michael Dunn14-Aug-02 15:02
sitebuilderMichael Dunn14-Aug-02 15:02 
GeneralRe: Is this bad design (CComVariant) ? Pin
Bill Wilson15-Aug-02 6:06
Bill Wilson15-Aug-02 6:06 
GeneralRe: Is this bad design (CComVariant) ? Pin
Michael Dunn15-Aug-02 7:22
sitebuilderMichael Dunn15-Aug-02 7:22 
GeneralRe: Is this bad design (CComVariant) ? Pin
Bill Wilson15-Aug-02 7:58
Bill Wilson15-Aug-02 7:58 
GeneralRe: Is this bad design (CComVariant) ? Pin
Philippe Mori15-Aug-02 10:13
Philippe Mori15-Aug-02 10:13 
GeneralRe: Is this bad design (CComVariant) ? Pin
Bill Wilson16-Aug-02 7:32
Bill Wilson16-Aug-02 7:32 
There seems to be some confusion in this thread. I've seen several erroneous explanations based on theories about C++ language definition and VC++ compiler behavior. A simple look at the code shows what is going on.

There is no requirement for a copy constructor. It is needed for CComVariant because of this line in the constructor:

*this = lpszSrc;

That is the ONLY reason. If the coder had duplicated the logic of the = operator in the constructor, this line would not be present and the = operator would not be needed (for this constructor). This has nothing to do with compler optimization.

CComVariant v(CComVariant("foo")); // Uses a temporary object
is equivilent to

CComVariant vTemp("foo");
CComVariant v(vTemp);

not

CComVariant v = "foo";




GeneralRe: Is this bad design (CComVariant) ? Pin
Philippe Mori16-Aug-02 16:49
Philippe Mori16-Aug-02 16:49 
AnswerRe: Is this bad design (CComVariant) ? Pin
Michael Dunn14-Aug-02 15:04
sitebuilderMichael Dunn14-Aug-02 15:04 
GeneralRe: Is this bad design (CComVariant) ? Pin
Philippe Mori16-Aug-02 17:15
Philippe Mori16-Aug-02 17:15 
GeneralStack Question Pin
Nick Parker14-Aug-02 8:21
protectorNick Parker14-Aug-02 8:21 
GeneralRe: Stack Question Pin
Chris Losinger14-Aug-02 8:24
professionalChris Losinger14-Aug-02 8:24 
GeneralRe: Stack Question Pin
Nick Parker14-Aug-02 8:26
protectorNick Parker14-Aug-02 8:26 
GeneralRe: Stack Question Pin
Chris Losinger14-Aug-02 8:30
professionalChris Losinger14-Aug-02 8:30 
GeneralRe: Stack Question Pin
Nick Parker14-Aug-02 8:31
protectorNick Parker14-Aug-02 8:31 
GeneralRe: Stack Question Pin
Chris Losinger14-Aug-02 8:36
professionalChris Losinger14-Aug-02 8:36 
GeneralRe: Stack Question Pin
Nick Parker14-Aug-02 8:44
protectorNick Parker14-Aug-02 8:44 
GeneralRe: Stack Question Pin
Chris Losinger14-Aug-02 8:56
professionalChris Losinger14-Aug-02 8:56 
GeneralRe: Stack Question Pin
Nick Parker14-Aug-02 9:04
protectorNick Parker14-Aug-02 9:04 
GeneralRe: Stack Question Pin
Chris Losinger14-Aug-02 9:06
professionalChris Losinger14-Aug-02 9:06 
GeneralRe: Stack Question Pin
Nick Parker14-Aug-02 9:10
protectorNick Parker14-Aug-02 9:10 
GeneralRe: Stack Question Pin
Chris Losinger14-Aug-02 9:16
professionalChris Losinger14-Aug-02 9:16 
GeneralRe: Stack Question Pin
Nick Parker14-Aug-02 9:19
protectorNick Parker14-Aug-02 9:19 
GeneralRe: Stack Question Pin
Chris Losinger14-Aug-02 9:04
professionalChris Losinger14-Aug-02 9:04 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.