Questions marquées «c++»

92
Implémentation lambda C ++ 11 et modèle de mémoire

J'aimerais avoir des informations sur la façon de penser correctement les fermetures C ++ 11 et std::functionen termes de mise en œuvre et de gestion de la mémoire. Bien que je ne crois pas à l'optimisation prématurée, j'ai l'habitude de considérer attentivement l'impact de mes choix sur les...

92
Capacité initiale du vecteur en C ++

Quel est le capacity()d'un std::vectorqui est créé en utilisant le constuctor par défaut? Je sais que le size()est nul. Pouvons-nous déclarer qu'un vecteur construit par défaut n'appelle pas l'allocation de mémoire de tas? De cette façon, il serait possible de créer un tableau avec une réserve...

92
Que signifie «utiliser ODR» quelque chose?

Cela vient juste d'être soulevé dans le contexte d' une autre question . Apparemment, les fonctions membres des modèles de classe ne sont instanciées que si elles sont utilisées par ODR. Quelqu'un pourrait-il expliquer ce que cela signifie exactement. L' article de wikipedia sur One Definition...

92
Que signifie?

J'ai 2 cours: class base { virtual void foo() {}; }; class derived : public base { void foo() { base::foo(); } }; J'ai fait une erreur et j'ai écrit à la base:foo();place base::foo();. Le code a été compilé et exécuté, mais par défaut. Je ne sais pas comment je peux le rechercher sur Google et je...

92
Différence C ++ entre std :: ref (T) et T &?

J'ai quelques questions concernant ce programme: #include <iostream> #include <type_traits> #include <functional> using namespace std; template <typename T> void foo ( T x ) { auto r=ref(x); cout<<boolalpha; cout<<is_same<T&,decltype(r)>::value; } int...

92
((A + (b & 255)) & 255) est-il identique à ((a + b) & 255)?

Je parcourais du code C ++ et j'ai trouvé quelque chose comme ceci: (a + (b & 255)) & 255 Le double ET m'a ennuyé, alors j'ai pensé à: (a + b) & 255 ( aet bsont des entiers non signés 32 bits) J'ai rapidement écrit un script de test (JS) pour confirmer ma théorie: for (var i = 0; i...

92
Constexpr vs macros

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;

91
En-têtes précompilés avec GCC

Quelqu'un a-t-il réussi à obtenir des en-têtes précompilés fonctionnant avec GCC? Je n'ai pas eu de chance dans mes tentatives et je n'ai pas vu beaucoup de bons exemples sur la façon de le configurer. J'ai essayé cygwin gcc 3.4.4 et en utilisant 4.0 sur Ubuntu.

91
Pourquoi std :: stack utilise std :: deque par défaut?

Puisque les seules opérations requises pour qu'un conteneur soit utilisé dans une pile sont: arrière() repousser() pop_back () Pourquoi le conteneur par défaut est-il un deque au lieu d'un vecteur? Les réallocations deque ne donnent-elles pas un tampon d'éléments avant front () pour que push_front...