------- Comment #3 from oliver at kfs dot org  2007-07-04 04:27 -------
Andrew, currently it seems to work like this (pseudo code warning):

  T* newSpace = alloc(newSize);
  int i = 0 ;
  for ( ; i < size ; ++i ) {
   newSpace[i].constructor(oldSpace[i]) ;
  }

  const T defaultInstance ;

  for ( ; i < newSize ; i++ ) {
   newSpace[i].constructor(defaultInstance) ;
  }

What I'm talking about is replacing "const T defaultInstance;" with

  // Execute the default constructor on the first new element
  newSpace[i].constructor() ;
  // Take a reference to this object for copying to subsequent instances
  const T& defaultInstance = newSpace[i] ;
  // Advance i to the next element
  ++i ;


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32618

Reply via email to