Bonjour
je suis débutant et je suis en étude sur un livre je trouve l'opérateur
new dans un algo et je ne connai pas son interet
quelqu'un pourrai me l'expliqué ?
merci pour tout !
![]()
Bonjour
je suis débutant et je suis en étude sur un livre je trouve l'opérateur
new dans un algo et je ne connai pas son interet
quelqu'un pourrai me l'expliqué ?
merci pour tout !
![]()
Il permet une allocation dynamique de mémoire.
"Never use brute force in fighting an exponential." (Andrei Alexandrescu)
Mes articles dont Conseils divers sur le C++
Une très bonne doc sur le C++ (en) Why linux is better (fr)
Oui plus précisement, new alloue de la mémoire et retourne un pointeur vers l'espace alloué.
Il faut donc donner la valeur retournée par new à un pointeur, comme par exemple:
Code C++
Attention, l'allocation d'un espace avec new doit toujours être libéré à la fin du programme (ou avant) avec l'opérateur delete.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 // Pointeur vers MaClasse MaClasse *objet; // Allocation objet = new MaClasse; // Appelle d'une méthode de l'objet objet->maMethode(); // Libération de l'espace delete objet;
@FabaCoeur
Merci pour l'explication complete , mais si en ferai pas de new , ca generai pas ?
Je trouve ça très étonnant que tu ai trouvé ça dans un livre d'algorithmique.
Envoyé par Davidbrcz
Pas seulement, il permet également l'instanciation de l'objet.Envoyé par FabaCoeur
Oui new fait un appel implicite à un constructeur en fonction des arguments passés, c'est ce qui fait la supériorité du couple new-delete (initialisation + destruction propre) par rapport au couple malloc-free qui ne fait qu'aalocation et désallocation pour les types du C.
Ce qu'on trouve est plus important que ce qu'on cherche.
Maths de base pour les nuls (et les autres...)
Partager