Bonjour j'ai reçu une question orale lors d'un entretien.
Si jamais j'ajoute des cases dans le conteneur vector peu importe le type même si c'est des pointeurs. Et si j'arrive à la limite de ce que la ram peut contenir mais que j'ai besoin de continuer de rajouter des valeurs dans mon vector... donner une solution à mon problème ?
La limite de ce que la RAM peut contenir ? -> l'OS va swapper sur le disque dur. De toute façon, on parle de mémoire virtuelle dans les mécanismes de mémoire.
La limite de la réserve du vector -> réalloc (de 2 fois la taille me semble t il)
La limite au dela de la limite de Swap, ou bien de la limite d'allocation du processus (en 32 bits par exemple) un des malloc internes du vector va renvoyer NULL, j'imagine que le vector va te jeter une exception. A toi de la gérer.
La limite de la réserve du vector -> réalloc (de 2 fois la taille me semble t il)
Le doublement de la taille est une stratégie d'extension qui permet d'avoir des ajouts (à la fin) avec un coût amorti constant.
Ce qui est trop cool, grave top-moumoute.
- Edité par michelbillaud 3 décembre 2019 à 18:27:59
Question simple entretien
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html