Bonjour,
Avez vous des infos concernant ces deux fonctions ?
Notamment les conditions qui font qu'un compilateur C++ génère l'appel à celles-ci ?
Cordialement,
Version imprimable
Bonjour,
Avez vous des infos concernant ces deux fonctions ?
Notamment les conditions qui font qu'un compilateur C++ génère l'appel à celles-ci ?
Cordialement,
Je connais pas, et Google ne dit pas grand chose mis à part que ça serait peut-être lié à Boost.
Dans quel contexte les utilises-tu (librairie particulière)?
C'est pour de la meta programmation.
Je n'ai jamais utilisé ces fonctions, mais il semble qu'elles soient utilisés en interne par la bibliotheque boost, par exemple dans boost::python pour créer des classes Python.
ex :
Creation d'une classe my_class, wrappant la classe c++ my_wrapper, avec une methode my_fun, qui appelle la methode my_fun de my_wrapper.Code:
1
2 class_<my_wrapper, boost::noncopyable>("my_class") .def("my_fun", &my_wrapper::my_fun);
Désolé, pas plus d'info.
--
Jérémie
Salut,
Typiquement, quand on parle "ctor", on parle de... constructeur, et, quand on parle de "dtor", on parle de ... destructeur.
Le compilateur va automatiquement rajouter un constructeur ne prenant aucun argument, appelant de manière systématique le constructeur ne prenant pas d'argument de la (des) classes de base (s'il échoit) et des membres un à un si et seulement si aucun autre constructeur n'est déclaré dans une classe, quel que soit le nombre et ou le type des arguments éventuellement requis.
De la même manière, il (le compilateur) rajoutera un constructeur de copie effectuant la copie des membres un à un si et seulement si aucun constructeur de copie n'a été déclaré.
Enfin, le compilateur ajoutera un destructeur non virtuel qui appellera le destructeur de chaque membre puis le destructeur de la (des) classe(s) de base (s'il échoit) automatiquement si et seulement si aucun autre destructeur na été déclaré pour la classe.
Pour le reste, pourrais tu nous indiquer les messages d'erreur que tu obtiens :?:?