Quelle est la différence entre l'utilisation de l' deleteopérateur sur l'élément de tableau et l'utilisation de la Array.spliceméthode ? Par exemple: myArray = ['a', 'b', 'c', 'd']; delete myArray[1]; // or myArray.splice (1, 1); Pourquoi même avoir la méthode d'épissage si je peux supprimer des éléments de tableau comme je …
class my_class { ... my_class(my_class const &) = delete; ... }; Que = deletesignifie dans ce contexte? Y a-t-il d'autres "modificateurs" (autres que = 0et = delete)?
Est-il autorisé à delete this;si l'instruction delete est la dernière instruction qui sera exécutée sur cette instance de la classe? Bien sûr, je suis sûr que l'objet représenté par le thispointeur est newcréé de manière ly. Je pense à quelque chose comme ça: void SomeModule::doStuff() { // in the controller, …
J'ai un class Aqui utilise une allocation de mémoire de tas pour l'un de ses champs. La classe A est instanciée et stockée en tant que champ de pointeur dans une autre classe ( class B. Quand j'en ai fini avec un objet de classe B, j'appelle delete, ce que …
D'accord, je pense que nous sommes tous d'accord pour dire que ce qui se passe avec le code suivant n'est pas défini, en fonction de ce qui est passé, void deleteForMe(int* pointer) { delete[] pointer; } Le pointeur peut être toutes sortes de choses différentes, et donc exécuter une inconditionnelle …
Un livre C ++ que j'ai lu indique que lorsqu'un pointeur est supprimé à l'aide de l' deleteopérateur, la mémoire à l'emplacement vers lequel il pointe est "libérée" et peut être écrasée. Il indique également que le pointeur continuera à pointer vers le même emplacement jusqu'à ce qu'il soit réaffecté …
Je me suis toujours demandé pourquoi le réglage automatique du pointeur sur NULL après la suppression ne faisait pas partie de la norme. Si cela est pris en charge, la plupart des plantages dus à un pointeur non valide ne se produiront pas. Mais cela dit, je peux penser à …
Contexte: J'essaie de comprendre les pointeurs, nous les avons vus il y a quelques semaines à l'école et en pratiquant aujourd'hui, je suis tombé sur un idiot? problème, cela peut être très simple pour vous, mais j'ai peu ou pas d'expérience en programmation. J'ai vu pas mal de questions dans …
J'ai une question de base concernant les pointeurs const. Je ne suis pas autorisé à appeler des fonctions membres non const à l'aide d'un pointeur const. Cependant, je suis autorisé à le faire sur un pointeur const: delete p; Cela appellera le destructeur de la classe qui est essentiellement une …
La création d'un nouvel objet de classe C avec l'opérateur new () donne une erreur ici: class C { public: C() {} virtual ~C() {} void operator delete(void*) = delete; }; int main() { C* c = new C; } avec C2280: 'void C::operator delete(void *)': function was explicitly deleted …
J'ai essayé d'appeler ::deletepour une classe dans le operator deletede celui-ci. Mais le destructeur n'est pas appelé. J'ai défini une classe MyClassqui operator deletea été surchargée. Le global operator deleteest également surchargé. La surcharge operator deletede MyClassnommerez mondiale surchargée operator delete. class MyClass { public: MyClass() { printf("Constructing MyClass...\n"); } …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.