Ma question est simple: les éléments std :: vector sont-ils garantis contigus? Dans un mot, puis-je utiliser le pointeur sur le premier élément d'un std :: vector en tant que C-array?
Si ma mémoire est bonne, le standard C ++ ne donnait pas une telle garantie. Cependant, les exigences de std :: vector étaient telles qu'il était pratiquement impossible de les satisfaire si les éléments n'étaient pas contigus.
Quelqu'un peut-il clarifier cela?
Exemple:
std::vector<int> values;
// ... fill up values
if( !values.empty() )
{
int *array = &values[0];
for( int i = 0; i < values.size(); ++i )
{
int v = array[i];
// do something with 'v'
}
}