Bonjour,
Je voudrai avoir dans le principe un buffer de char contigue assez grand, et plein de std::string qui pointe dessus sans copier les char.
Je me suis dit qu'avec quelquechose comme cela ca irait :
le probleme, c'est que les infos sur la stl que j'ai trouvé jusque la ne sont pas tres clair.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 std::string strBuffer strBuffer.reserve(4096); // remplissage de strBuffer; std::string strOne(strBuffer, 10, 15); std::string strTwo(strBuffer, 2050, 2090); // etc
En gros la doc dit que le constructeur utilisé copie quoi qu'il se passe, mais beaucoup disent que selon l'implémentation la copie n'est pas faite tant que l'on n'essaye pas de modifier la sous-string etc.
ma question est donc, y a t il un moyen avec les std::string de faire ce genre de chose, et explicitement ne pas faire de copie, mais avoir des 'petites' string pointant toutes sur un buffer commun.
Partager