J'ai été en utilisant std::vector
beaucoup, et récemment je me suis posé cette question: "Comment est - std::vector
mis en œuvre?"
J'avais deux solutions:
1) liste Liée, et puis prendre l'API envie d'accès aléatoire (c'est à dire la surcharge operator[]
).
2) à l'Aide d' new
, par exemple, Foo* temp = new Foo[20]
: je crois qu'ils font quelque chose comme cela, mais alors, il soulève une question de plus. Font-ils toujours allouer un maximum (uint32_t
) de stockage pour donner accès aléatoire? (Ceci est inefficace en termes de mémoire.)
Ou est-il autre chose que je devrais être au courant?