Click here to Skip to main content
15,905,967 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Smart pointers Pin
JackDingler15-Nov-11 11:42
JackDingler15-Nov-11 11:42 
GeneralRe: Smart pointers Pin
Pascal Ganaye15-Nov-11 11:46
Pascal Ganaye15-Nov-11 11:46 
GeneralRe: Smart pointers Pin
JackDingler15-Nov-11 12:01
JackDingler15-Nov-11 12:01 
GeneralRe: Smart pointers Pin
Pascal Ganaye15-Nov-11 21:52
Pascal Ganaye15-Nov-11 21:52 
GeneralRe: Smart pointers Pin
JackDingler16-Nov-11 2:04
JackDingler16-Nov-11 2:04 
GeneralRe: Smart pointers Pin
Erudite_Eric15-Nov-11 22:32
Erudite_Eric15-Nov-11 22:32 
GeneralRe: Smart pointers Pin
Stefan_Lang17-Nov-11 4:37
Stefan_Lang17-Nov-11 4:37 
GeneralRe: Smart pointers Pin
Pascal Ganaye17-Nov-11 4:59
Pascal Ganaye17-Nov-11 4:59 
Thanks Stefan for you answer.
I think I got you on the wrong foot, I don't really suggest that what the C++11 have done is bad.
I am only introducing something that is different and I am interested to see where it goes.

When I wrote :
Stefan_Lang wrote:when an object is freed any other pointer to it get nullified


I know it is a quite an dangerous concept.
In my mind I have this idea, like a little snow ball, I want to roll it and see where it goes.


what are other parts of your application supposed to do when the pointer they rely on suddenly got nullified?

They are not in a worst state than calling an object that has been freed.
The . or -> operators can check if the pointer is null or not.

How can you guarantee that your whole application isn't left in an undefined state because an operation couldn't be completed?

I am not sure I follow your thoughts.
the free function would basically do:

free(memory)
{
  foreach pointer in the entire system who point to memory
     *pointer = null
  real free(memory);
}

If the pointers got reused later by the rest of the application it is bound to crash anyway as you're not supposed to use a block of memory that have been freed.
With this mechanism you can check very deterministically whether the block was freed by simply testing the pointer value.

Again I am not here to start a religious war, I am not even saying this is the way to go. I am merely asking what if?
GeneralRe: Smart pointers Pin
Stefan_Lang17-Nov-11 5:47
Stefan_Lang17-Nov-11 5:47 
GeneralRe: Smart pointers Pin
Pascal Ganaye18-Nov-11 0:09
Pascal Ganaye18-Nov-11 0:09 
GeneralRe: Smart pointers Pin
Stefan_Lang18-Nov-11 0:28
Stefan_Lang18-Nov-11 0:28 
QuestionCreateFile after CloseHandle Pin
aangerma14-Nov-11 23:49
aangerma14-Nov-11 23:49 
AnswerRe: CreateFile after CloseHandle Pin
User 742933814-Nov-11 23:58
professionalUser 742933814-Nov-11 23:58 
GeneralRe: CreateFile after CloseHandle Pin
aangerma15-Nov-11 0:09
aangerma15-Nov-11 0:09 
AnswerRe: CreateFile after CloseHandle Pin
User 742933815-Nov-11 0:20
professionalUser 742933815-Nov-11 0:20 
GeneralRe: CreateFile after CloseHandle Pin
aangerma15-Nov-11 0:35
aangerma15-Nov-11 0:35 
GeneralRe: CreateFile after CloseHandle Pin
Erudite_Eric15-Nov-11 1:37
Erudite_Eric15-Nov-11 1:37 
GeneralRe: CreateFile after CloseHandle Pin
Vaclav_15-Nov-11 10:45
Vaclav_15-Nov-11 10:45 
GeneralRe: CreateFile after CloseHandle Pin
Erudite_Eric15-Nov-11 21:19
Erudite_Eric15-Nov-11 21:19 
QuestionHide folder in window explorer Pin
MKC00214-Nov-11 22:40
MKC00214-Nov-11 22:40 
AnswerRe: Hide folder in window explorer Pin
Richard MacCutchan14-Nov-11 23:07
mveRichard MacCutchan14-Nov-11 23:07 
GeneralRe: Hide folder in window explorer Pin
MKC00215-Nov-11 21:33
MKC00215-Nov-11 21:33 
GeneralRe: Hide folder in window explorer Pin
Richard MacCutchan15-Nov-11 21:46
mveRichard MacCutchan15-Nov-11 21:46 
Questionconvert double to WCHAR Pin
jkirkerx14-Nov-11 16:32
professionaljkirkerx14-Nov-11 16:32 
AnswerRe: convert double to WCHAR Pin
David Crow14-Nov-11 16:54
David Crow14-Nov-11 16:54 

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.