Si les deux ne vont pas être modifié (pas d'ajout/suppression d'éléments - la modification est très bien aussi longtemps que vous payez attention aux problèmes de threading), vous pouvez tout simplement passer autour de data.begin() + 100000
et data.begin() + 101000
, et de prétendre qu'ils sont l' begin()
et end()
d'un plus petit vecteur.
Ou, depuis le vecteur de stockage est assuré d'être contiguë, vous pouvez tout simplement passer un 1000 élément de tableau:
T *arrayOfT = &data[0] + 100000;
size_t arrayOfTLength = 1000;
Ces deux techniques constamment prendre le temps, mais exigent que la longueur des données n'augmente pas, le déclenchement d'une réaffectation.