* What's the result of applying sizeof to an incomplete type?
* Why is sizeof called twice?
* Why is the result of sizeof cast to void? What exactly does that line do?
* Is it an empty statement if the sizeof is legal?
* Why not apply x = 0; at the end?
This code is not too clear to me & the boost documentation is not either. Please assist. Please do not direct me to the C++ standard text.
Then again, smart pointers are simple to understand & use, but their implementations are all rather difficult to understand (maybe except scoped_ptr). Which brings me to one more question, why wasn't Andrei's technique of Smart_Ptr (Loki) chosen over the boost implementation technique (a class per smart pointer) for C++ 0x? His allows for an innumerable number of extension through policies. I ask this purely to understand why, not as a rejoinder.
Awaiting your feedback.