| 123456789101112131415161718192021222324252627282930313233 | 
#define assert(E) if(!(E)) return 1;template<class T>class zero_init{public:  zero_init( )    : val( static_cast<T>(0) ) { }  zero_init( T val ) : val( val )  { }  operator T & ( ) { return val; }  operator T ( ) const { return val; }private:  T val;};int someFunc(){  zero_init<int*> p; assert( p == 0 );  p = new int(7);  assert( *p == 7 );  delete p;  zero_init<int> i; assert( i == 0 );  i = 7;  assert( i == 7 );  switch( i ) {  }  int *vp = new int[i];  return 0;}
 |