Click here to Skip to main content
15,916,941 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
QuestionWhy a HANDLE created by CreateFile can be assigned to an object Pin
digitalspace.xjtu17-Oct-13 5:07
digitalspace.xjtu17-Oct-13 5:07 
AnswerRe: Why a HANDLE created by CreateFile can be assigned to an object Pin
Albert Holguin17-Oct-13 5:20
professionalAlbert Holguin17-Oct-13 5:20 
GeneralRe: Why a HANDLE created by CreateFile can be assigned to an object Pin
digitalspace.xjtu17-Oct-13 5:33
digitalspace.xjtu17-Oct-13 5:33 
AnswerRe: Why a HANDLE created by CreateFile can be assigned to an object Pin
Chris Losinger17-Oct-13 5:25
professionalChris Losinger17-Oct-13 5:25 
GeneralRe: Why a HANDLE created by CreateFile can be assigned to an object Pin
digitalspace.xjtu17-Oct-13 5:35
digitalspace.xjtu17-Oct-13 5:35 
QuestionHow to generate DSA 512 bit KeyPair in VC++ 2010 Pin
IICTECH17-Oct-13 3:05
IICTECH17-Oct-13 3:05 
QuestionHow to Create Single Process in C++ Pin
Thong LeTrung16-Oct-13 6:40
Thong LeTrung16-Oct-13 6:40 
AnswerRe: How to Create Single Process in C++ Pin
Rajesh R Subramanian16-Oct-13 6:52
professionalRajesh R Subramanian16-Oct-13 6:52 
GeneralRe: How to Create Single Process in C++ Pin
Thong LeTrung16-Oct-13 6:58
Thong LeTrung16-Oct-13 6:58 
QuestionHow does this code with "event" functions? Pin
Vaclav_16-Oct-13 6:38
Vaclav_16-Oct-13 6:38 
AnswerRe: How does this code with "event" functions? Pin
Rajesh R Subramanian16-Oct-13 9:05
professionalRajesh R Subramanian16-Oct-13 9:05 
GeneralRe: How does this code with "event" functions? Pin
Vaclav_16-Oct-13 14:36
Vaclav_16-Oct-13 14:36 
GeneralRe: How does this code with "event" functions? Pin
Rajesh R Subramanian16-Oct-13 19:15
professionalRajesh R Subramanian16-Oct-13 19:15 
QuestionRe: How does this code with "event" functions? Pin
Vaclav_17-Oct-13 8:59
Vaclav_17-Oct-13 8:59 
QuestionDisk Wipe Pin
Member 862075915-Oct-13 23:52
Member 862075915-Oct-13 23:52 
AnswerRe: Disk Wipe Pin
Member 862075916-Oct-13 2:11
Member 862075916-Oct-13 2:11 
AnswerRe: Disk Wipe Pin
Vaclav_16-Oct-13 14:43
Vaclav_16-Oct-13 14:43 
SuggestionRe: Disk Wipe Pin
SoMad16-Oct-13 17:17
professionalSoMad16-Oct-13 17:17 
AnswerRe: Disk Wipe Pin
Albert Holguin17-Oct-13 5:33
professionalAlbert Holguin17-Oct-13 5:33 
AnswerRe: Disk Wipe Pin
TheKingofdemon3318-Oct-13 9:14
TheKingofdemon3318-Oct-13 9:14 
QuestionPolymorphism & Assignment Op. & Copy Constructors in C++ Pin
federico.strati15-Oct-13 2:16
federico.strati15-Oct-13 2:16 
AnswerRe: Polymorphism & Assignment Op. & Copy Constructors in C++ Pin
Aescleal21-Oct-13 4:45
Aescleal21-Oct-13 4:45 
GeneralRe: Polymorphism & Assignment Op. & Copy Constructors in C++ Pin
federico.strati21-Oct-13 22:04
federico.strati21-Oct-13 22:04 
Thanks Aescleal,

all the techniques you suggest are fine, but my point was more on the discussion
of the copy ctor and assignment op. themselves: it is clear that if I make them
private, or if I just use the compiler generated ones for POD types, there will
be no worry.

By the way what do you mean exactly by "copy and swap" ? Do you mean this ? :
C++
Object& operator = (const Object& other)
{
   Object(other).swap(*this);
   return *this;
}

(How do you ensure no self assignment in this case ?, by forwarding to std::swap ?)

My point anyway was about how to do in the correct way when I've a hierarchy,
I've deep copies, I've to be able to use base class pointers or derived pointers:
i.e. in the most general case.

In this general case it seems to me that you're forced to use one of the given approaches,
and that you shall handle all cases of copy ctor and assignment ops explicitly
(derived from derived, derived from base, base from derived, base from base)
maybe just disallowing some of them.

Just to be clear, my point is the following:
C++
CBase* pbase0 = new CDerived(...);
CBase* pbase1 = new CDerived(...);

*pbase0 = *pbase1 // Will it works correctly or will it slice and I should disallow it ?


Bye
Federico

modified 22-Oct-13 4:44am.

GeneralRe: Polymorphism & Assignment Op. & Copy Constructors in C++ Pin
Aescleal21-Oct-13 23:15
Aescleal21-Oct-13 23:15 
GeneralRe: Polymorphism & Assignment Op. & Copy Constructors in C++ Pin
federico.strati22-Oct-13 0:12
federico.strati22-Oct-13 0:12 

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.