Bonjour.
J'aurai voulu avoir confirmation d'une petite chose.
J'ai une fonction qui travaille sur un objet dérivé d'un vector (je prendrais un vector dans la suite pour faire plus simple) :
1) Est-ce que ce code est bon/sûr au niveau de la mémoire et de sa libération ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 void myFunction(std::vector *inputVector) { std::vector *myVector; if (inputVector) { myVector = inputVector; } else { myVector = new std::vector; myVector->insert(myVector->begin(), 5, 200); // For example } // DO SOMETHING WITH myVector if (!inputVector) { delete myVector; } }
2) Est-ce qu'il y aurait une façon de protéger mon inputVector de toute modification dans la fonction si il est passé en paramètre (avec un const) ? (si il est passé il doit être non modifiable, si il n'est pas passé, myVector doit pointer vers un vector modifiable)
3) Y aurait-il moyen de faire la même chose avec un vecteur passé par référence ?
Merci beaucoup
Partager