3 #define assert(E) if(!(E))__builtin_abort();
10 : val( static_cast<T>(0) ) { }
11 zero_init( T val ) : val( val )
13 operator T & ( ) { return val; }
14 operator T ( ) const { return val; }
21 zero_init<int*> p; assert( p == 0 );
26 zero_init<int> i; assert( i == 0 );
29 switch( i ) { } // error!