------- Comment #19 from bart dot vanassche at gmail dot com 2010-02-25 07:05 ------- (In reply to comment #17) > (In reply to comment #15) > > Alternatively, the C++ front-end could create an uninitialized variable for > > each member variable. Initialize those, then, at the very end of the > > constructor, assigned each clone variable to the appropriate member. > > That would break if the constructor calls any other member functions.
It is even possible to trigger member function calls from inside the initializer list. This will result in member functions being invoked for a partially initialized object. Some compilers emit a warning when the 'this' pointer is passed as a function argument from inside the initializer list. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19808