So Microsoft. with all the geniuses that you selectively and carefully hire you are still unable to create a clean C++ interface ? what a shame.

 


Window calculator; 

calculator.add_button( Button("1") ); 

for_each( begin( calculator.buttons ), end( calculator.buttons ), HAVE_FUN );

 

all MODERN C++ features in use. no alloc / IUnkown carbage.. please..