Si tiene un vector STL que ha sido redimensionado, ¿es seguro tomar la dirección del elemento 0 y asumir que el resto del vector seguirá en la memoria?¿Es seguro asumir que el almacenamiento de vectores STL es siempre contiguo?
p. Ej.
vector<char> vc(100);
// do some stuff with vc
vc.resize(200);
char* p = &vc[0];
// do stuff with *p
Si está utilizando un proyecto de norma, o algo aún no ha ratificado y oficial, por favor, dígalo. No pude encontrar nada parecido en el estándar actual. –
En el borrador de C++ 0x, es 23.2.5.1, y en C++ 03, es 23.2.4.1. La redacción no está en el estándar C++ 98. Estoy viendo ISO/IEC 14882: 2003 (E) – Eclipse
Se agregó más adelante en el Corrigendum técnico. –