J'ai toujours posé cette question mais je n'ai jamais reçu de très bonne réponse; Je pense que presque tous les programmeurs avant même d'écrire le premier "Hello World" avaient rencontré une phrase comme "macro ne devrait jamais être utilisée", "macro are evil" et ainsi de suite, ma question est: pourquoi? …
Fermé . Cette question est basée sur l'opinion . Il n'accepte pas les réponses actuellement. Vous souhaitez améliorer cette question? Mettez à jour la question afin de pouvoir y répondre avec des faits et des citations en éditant ce message . Fermé il y a 3 ans . Améliorez cette …
J'essaie de compiler le programme de pool de threads suivant publié sur la revue de code pour le tester. /codereview/55100/platform-independant-thread-pool-v4 Mais je reçois les erreurs threadpool.hpp: In member function ‘std::future<decltype (task((forward<Args>)(args)...))> threadpool::enqueue_task(Func&&, Args&& ...)’: threadpool.hpp:94:28: error: ‘make_unique’ was not declared in this scope auto package_ptr = make_unique<task_package_impl<R, decltype(bound_task)>> (std::move(bound_task), std::move(promise)); …
Où devrais-je préférer les macros et où devrais-je préférer constexpr ? Ne sont-ils pas fondamentalement les mêmes? #define MAX_HEIGHT 720 contre constexpr unsigned int max_height = 720;
Les parenthèses en C ++ sont utilisées à de nombreux endroits: par exemple dans les appels de fonction et les expressions de regroupement pour remplacer la priorité des opérateurs. En dehors des parenthèses supplémentaires illégales (comme autour des listes d'arguments d'appel de fonction), une règle générale - mais pas absolue …
Lorsque j'essaye de compiler ce code (VS2010), j'obtiens l'erreur suivante: error C3499: a lambda that has been specified to have a void return type cannot return a value void DataFile::removeComments() { string::const_iterator start, end; boost::regex expression("^\\s?#"); boost::match_results<std::string::const_iterator> what; boost::match_flag_type flags = boost::match_default; // Look for lines that either start with …
Je comprends que la bonne façon de capturer this(pour modifier les propriétés d'un objet) dans un lambda est la suivante: auto f = [this] () { /* ... */ }; Mais je suis curieux de connaître la particularité suivante que j'ai vue: class C { public: void foo() { // …
S'il existe même, à quoi ressemblerait une std::mapliste d'initialiseurs étendue? J'ai essayé quelques combinaisons de ... enfin, tout ce à quoi je pouvais penser avec GCC 4.4, mais je n'ai rien trouvé de compilé.
J'essaie de compiler en utilisant g++et les indicateurs -std=c++11ou c++0x. Cependant, j'obtiens cette erreur cc1plus: error: unrecognized command line option "-std=c++11" g ++ --version g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is …
Le code suivant est assez trivial et je m'attendais à ce qu'il se compile correctement. struct A { struct B { int i = 0; }; B b; A(const B& _b = B()) : b(_b) {} }; J'ai testé ce code avec g ++ version 4.7.2, 4.8.1, clang ++ 3.2 …
Je travaille avec la mémoire de certains lambdas en C ++, mais je suis un peu perplexe par leur taille. Voici mon code de test: #include <iostream> #include <string> int main() { auto f = [](){ return 17; }; std::cout << f() << std::endl; std::cout << &f << std::endl; std::cout …
Je suis un simple programmeur. Les variables de mes membres de classe se composent le plus souvent de types POD et de conteneurs STL. Pour cette raison, je dois rarement écrire des opérateurs d'affectation ou copier des constructeurs, car ils sont implémentés par défaut. Ajoutez à cela, si j'utilise std::movesur …
Imaginons que nous ayons une structure pour contenir 3 doubles avec des fonctions membres: struct Vector { double x, y, z; // ... Vector &negate() { x = -x; y = -y; z = -z; return *this; } Vector &normalize() { double s = 1./sqrt(x*x+y*y+z*z); x *= s; y *= …
La description de std::is_voidindique que: Fournit la valeur de constante de membre égale à true, si T est du type void, const void, volatile void ou const volatile void. Alors que pourrait être const void, ou un volatile void? Cette réponse indique que le const voidtype de retour serait invalide …
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.