Je suis en train de regarder un exemple de fonction que je n’arrive pas à comprendre en utilisant MFC dans Visual C ++. La fonction est la suivante CMFC_OSG_MDIView::CMFC_OSG_MDIView() :mOSG(0L) { } Je comprends tout ici sauf l’extrait de code MOSG (0L). mOSG a été déclaré dans la classe MFC_OSG _MDIView comme suit: cOSG* mOSG;
pourquoi le standard décide de ne rien faire pour les membres de type non-classe lors d’une initialisation par défaut mais effectue l’ initialisation à zéro lors de l’ initialisation de valeur ? Serait-il plus sûr que l’initialisation zéro soit toujours effectuée sur des membres de type non-CLSS?
Je connais le problème de l’ordre d’initialisation des variables statiques provenant de différentes unités de traduction. Cependant, mon problème est dans une unité de traduction et, en fait, dans une structure: template struct SlidingTile { using AllActions = std::array; using AllMDDeltas = std::array; int mdDelta(int i) const { return mdDeltas_[i]; } static AllActions computeAllActions() { […]
Je voudrais initialiser un short – short sur une valeur hexadécimale, mais mon compilateur me donne des avertissements de troncature. Clairement, je pense que j’essaie de définir le short – short sur une valeur positive. short my_value = 0xF00D; // Comstackr sees “my_value = 61453” Comment voudriez-vous éviter cet avertissement? Je pourrais simplement utiliser une […]
J’ai un tableau statique de pointeurs vers des fonctions en tant que membre d’une classe. J’ai besoin de l’initialiser, mais il s’avère que ce tableau a une longueur de 64 Ko, il est donc peu pratique de l’initialiser avec un initialiseur statique tel que { x, y, z, … } car cela encombrerait le code. […]
Après avoir lu l’initialisation de liste et ses différentes variantes, j’ai décidé de tester certaines fonctionnalités dans une application openGL ES que j’écris sous Xcode et Objective-C ++, jusqu’à ce que je tombe sur quelque chose d’assez obscur. Je connais (et implémente fréquemment) l’initialisation conventionnelle d’une structure de style C en utilisant la syntaxe suivante […]
J’essaie de comprendre le comportement exact de l’initialisation de la valeur par T() ou T{} pour un type de classe T en C ++ 11. Ce qui me trouble, ce sont ces deux extraits tirés de http://fr.cppreference.com : Initialisation de la valeur: Les effets de l’initialisation de la valeur sont: […] 1) si T est […]
J’ai l’erreur de base suivante: 1> c: \ programmes \ microsoft visual studio 10.0 \ vc \ include \ utility (163): erreur C2436: ‘second’: fonction membre ou classe nestede dans la liste d’initialisation du constructeur En plus de nombreuses sous-erreurs, je ne sais absolument pas où regarder ni ce qui ne va pas. (Je sais […]
Supprimer cette question en faveur de ce qui suit: une réponse à laquelle gère maintenant les classes sans constructeur par défaut: Comment résumer l’initialisation paresseuse en C ++? En un mot, le code utilise le placement nouveau / supprimer. Voir http://en.wikipedia.org/wiki/Placement_syntax pour plus de détails …
Est-il possible d’initialiser un std::queue C ++ avec une valeur NULL comme d’autres variables? Comme ça: HANDLE variable = NULL; class Test { } c’est à dire std::queue testQueue = NULL; ou testQueue.empty(); ou quelque chose comme ça?