Questions marquées «c++»

190
std :: auto_ptr vers std :: unique_ptr

Avec l'arrivée du nouveau standard (et des pièces déjà disponibles dans certains compilateurs), le nouveau type std::unique_ptrest censé remplacer std::auto_ptr. Leur utilisation se chevauche-t-elle exactement (pour que je puisse faire une recherche / remplacement globale sur mon code (non pas que...

189
Conteneurs STL ou Qt?

Quels sont les avantages et les inconvénients de l' utilisation des conteneurs Qt ( QMap, QVector, etc.) sur leur équivalent STL? Je peux voir une raison de préférer Qt: Les conteneurs Qt peuvent être transmis à d'autres parties de Qt. Par exemple, ils peuvent être utilisés pour remplir a...

189
Tu n'hériteras pas de std :: vector

Ok, c'est vraiment difficile à avouer, mais j'ai une forte tentation en ce moment d'hériter std::vector. J'ai besoin d'environ 10 algorithmes personnalisés pour le vecteur et je veux qu'ils soient directement membres du vecteur. Mais naturellement je veux aussi avoir le reste de...

189
Quel est l'intérêt de noreturn?

[dcl.attr.noreturn] fournit l'exemple suivant: [[ noreturn ]] void f() { throw "error"; // OK } mais je ne comprends pas à quoi ça sert [[noreturn]], car le type de retour de la fonction est déjà void. Alors, quel est l'intérêt de l' noreturnattribut? Comment est-il censé être...

188
Pourquoi utiliserait-on des classes imbriquées en C ++?

Quelqu'un peut-il s'il vous plaît me diriger vers de belles ressources pour comprendre et utiliser des classes imbriquées? J'ai du matériel comme les principes de programmation et des choses comme ce centre de connaissances IBM - Classes imbriquées Mais j'ai toujours du mal à comprendre leur but....

188
Comment faire de la sortie CMake dans un répertoire «bin»?

Je construis actuellement un projet avec une structure de plugin. J'utilise CMake pour compiler le projet. Les plugins sont compilés dans des répertoires séparés. Mon problème est que CMake compile et enregistre les binaires et les plugins, les bibliothèques dynamiques, dans la structure de...

187
Comment utiliser les énumérations comme indicateurs en C ++?

Traiter les enums comme des indicateurs fonctionne bien en C # via l' [Flags]attribut, mais quelle est la meilleure façon de le faire en C ++? Par exemple, j'aimerais écrire: enum AnimalFlags { HasClaws = 1, CanFly =2, EatsFish = 4, Endangered = 8 }; seahawk.flags = CanFly | EatsFish | Endangered;...

187
Arguments de modèle par défaut pour les modèles de fonction

Pourquoi les arguments de modèle par défaut sont-ils autorisés uniquement sur les modèles de classe? Pourquoi ne pouvons-nous pas définir un type par défaut dans un modèle de fonction membre? Par exemple: struct mycclass { template<class T=int> void mymember(T* vec) { // ... } }; Au lieu de...

187
Accolades inutiles en C ++?

En faisant une révision de code pour un collègue aujourd'hui, j'ai vu une chose particulière. Il avait entouré son nouveau code avec des accolades comme ceci: Constructor::Constructor() { existing code { New code: do some new fancy stuff here } existing code } Quel en est le résultat, le cas...

186
Comment GCC et g ++ sont-ils amorcés?

Cela me dérange depuis un moment. Comment GCC et g ++ se compilent-ils? Je suppose que chaque révision est compilée avec une révision précédemment construite. Est-ce vrai? Et si c'est le cas, cela signifie-t-il que les versions les plus anciennes de g ++ et GCC ont été écrites en...

186
fork () branches plus que prévu?

Considérez le morceau de code suivant: #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void) { int i; for(i = 0; i < 2; i++) { fork(); printf("."); } return 0; } Ce programme produit 8 points. Comment est-ce possible? Ne devrait-il pas y avoir 6 points à...

186
Qu'est-ce qui a fait i = i ++ + 1; légal en C ++ 17?

Avant de commencer à crier un comportement indéfini, cela est explicitement répertorié dans N4659 (C ++ 17) i = i++ + 1; // the value of i is incremented Pourtant dans N3337 (C ++ 11) i = i++ + 1; // the behavior is undefined Qu'est ce qui a changé? D'après ce que je peux comprendre , à partir de...