Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question simple entretien

C++

    3 décembre 2019 à 13:20:44

    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 ?

    J'ai pas su répondre 

    • Partager sur Facebook
    • Partager sur Twitter
      3 décembre 2019 à 13:49:52

      Salut,

      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.

      • Partager sur Facebook
      • Partager sur Twitter

      Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

        3 décembre 2019 à 14:56:19

        Une partie va être gérée par le système: swap ou pas, OOM killer...

        Sinon, si la question est "Comment faire si on arrive au bout pour continuer à ajouter des choses dedans?": plusieurs pistes:

        - peut-on fragmenter? Si oui, deque

        - peut-on gérer le cache nous même? -> on sauve les info froides sur disque ou BD

        - a-t-on accès à des clusters et de la RAM partagée? -> RAM globale

        • Partager sur Facebook
        • Partager sur Twitter
        C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
          3 décembre 2019 à 18:26:04

          Fvirtman a écrit:

          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

          • Partager sur Facebook
          • Partager sur Twitter

          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.
          • Editeur
          • Markdown