Questions marquées «c++11»

384
Qu'est-ce que std :: promise?

Je suis assez familier avec le C ++ 11 de std::thread, std::asyncet des std::futurecomposants (voir par exemple cette réponse ), qui sont simple. Cependant, je n'arrive pas à comprendre ce qui std::promiseest, ce qu'il fait et dans quelles situations il est le mieux utilisé. Le document standard...

369
Typedef de modèle C ++

j'ai un cours template<size_t N, size_t M> class Matrix { // .... }; Je veux faire un typedefqui crée un Vector(vecteur de colonne) qui est équivalent à un Matrixavec des tailles N et 1. Quelque chose comme ça: typedef Matrix<N,1> Vector<N>; Ce qui produit une erreur de...

368
Compiler C ++ 11 avec g ++

J'essaie de mettre à jour mon compilateur C ++ vers C ++ 11. J'ai cherché un peu et je suis arrivé à la conclusion que je dois utiliser le drapeau -std=c++0xou -std=gnu++0x, mais je ne sais pas beaucoup de choses sur les drapeaux. Quelqu'un peut-il m'aider? (J'utilise Ubuntu 12.04.) Voici l'erreur...

367
Renvoyer unique_ptr à partir des fonctions

unique_ptr<T>ne permet pas la construction de copie, mais prend en charge la sémantique de déplacement. Pourtant, je peux retourner un à unique_ptr<T>partir d'une fonction et affecter la valeur retournée à une variable. #include <iostream> #include <memory> using namespace...

356
Comment activer C ++ 11 dans CMake?

Lorsque j'essaie d'exécuter un makefile généré par CMake pour compiler mon programme, j'obtiens l'erreur La plage basée sur les boucles n'est pas prise en charge en mode C ++ 98. J'ai essayé d' ajouter add_definitions(-std=c++0x)à mon CMakeLists.txt, mais il n'a pas aidé. J'ai aussi essayé ça:...

337
Quand devez-vous utiliser la capacité constexpr en C ++ 11?

Il me semble qu'avoir une "fonction qui renvoie toujours 5" brise ou dilue le sens de "appeler une fonction". Il doit y avoir une raison, ou un besoin pour cette capacité, sinon ce ne serait pas en C ++ 11. Pourquoi est-il là? // preprocessor. #define MEANING_OF_LIFE 42 // constants: const int...

321
Boucle basée sur la plage inverse C ++ 11

Existe-t-il un adaptateur de conteneur qui inverserait la direction des itérateurs afin que je puisse itérer sur un conteneur en sens inverse avec une boucle basée sur une plage? Avec des itérateurs explicites, je convertirais ceci: for (auto i = c.begin(); i != c.end(); ++i) { ... en cela: for...

294
Démarrer le fil avec la fonction membre

J'essaie de construire un std::threadavec une fonction membre qui ne prend aucun argument et retourne void. Je ne peux pas trouver de syntaxe qui fonctionne - le compilateur se plaint quoi qu'il arrive. Quelle est la bonne façon de l'implémenter spawn()pour qu'elle renvoie un std::threadqui...

270
Pourquoi C ++ n'a-t-il pas de garbage collector?

Je ne pose pas cette question en raison des avantages de la collecte des ordures tout d'abord. Ma principale raison de demander ceci est que je sais que Bjarne Stroustrup a dit que C ++ aura un ramasse-miettes à un moment donné. Cela dit, pourquoi n'a-t-il pas été ajouté? Il existe déjà des...