Questions marquées «c++»

C ++ est un langage de programmation à usage général. Il a été initialement conçu comme une extension de C et a une syntaxe similaire, mais c'est maintenant un langage complètement différent. Utilisez cette balise pour les questions sur le code (à compiler) avec un compilateur C ++. Utilisez une balise spécifique à la version pour les questions liées à une révision standard spécifique [C ++ 11], [C ++ 14], [C ++ 17] ou [C ++ 20], etc.



6
Concaténer deux chaînes littérales
Je lis Accelerated C ++ par Koenig. Il écrit que «la nouvelle idée est que nous pouvons utiliser + pour concaténer une chaîne et une chaîne littérale - ou, d'ailleurs, deux chaînes (mais pas deux chaînes littérales). Bien, cela a du sens, je suppose. Passons maintenant à deux exercices distincts …

4
Que signifie template <unsigned int N>?
Lors de la déclaration d'un template, j'ai l'habitude d'avoir ce genre de code: template &lt;class T&gt; Mais dans cette question , ils ont utilisé: template &lt;unsigned int N&gt; J'ai vérifié qu'il compile. Mais qu'est-ce que ça veut dire? Est-ce un paramètre non-type? Et si oui, comment pouvons-nous avoir un modèle …
121 c++  templates 


2
Surcharge des opérateurs: fonction membre vs fonction non membre?
J'ai lu qu'un opérateur surchargé déclaré comme fonction membre est asymétrique car il ne peut avoir qu'un seul paramètre et l'autre paramètre passé automatiquement est le thispointeur. Il n'existe donc aucune norme pour les comparer. D'autre part, l'opérateur surchargé déclaré comme a friendest symétrique car nous passons deux arguments du …

22
Position du bit le moins significatif défini
Je recherche un moyen efficace de déterminer la position du bit le moins significatif qui est défini dans un entier, par exemple pour 0x0FF0, ce serait 4. Une implémentation triviale est la suivante: unsigned GetLowestBitPos(unsigned value) { assert(value != 0); // handled separately unsigned pos = 0; while (!(value &amp; …

4
Ordre des appels de constructeur et de destructeur de membre
Oh gourous du C ++, je recherche ta sagesse. Parlez-moi standard et dites-moi si C ++ garantit que le programme suivant: #include &lt;iostream&gt; using namespace std; struct A { A() { cout &lt;&lt; "A::A" &lt;&lt; endl; } ~A() { cout &lt;&lt; "A::~" &lt;&lt; endl; } }; struct B { B() …
121 c++ 


6
Comment écrire un court littéral en C ++?
Question très basique: comment écrire un shortlittéral en C ++? Je sais ce qui suit: 2 est un int 2U est un unsigned int 2L est un long 2LL est un long long 2.0f est un float 2.0 est un double '\2'est un char. Mais comment écrire un shortlittéral? J'ai …
120 c++  literals 


9
Quelle est la différence entre un int et un long en C ++?
Corrigez-moi si je me trompe, int est de 4 octets, avec une plage de valeurs de -2,147,483,648 à 2,147,483,647 (2 ^ 31) long est de 4 octets, avec une plage de valeurs de -2,147,483,648 à 2,147,483,647 (2 ^ 31) Quelle est la différence en C ++? Peuvent-ils être utilisés de …
120 c++  variables 


11
Pourquoi ne puis-je pas utiliser la valeur flottante comme paramètre de modèle?
Lorsque j'essaie de l'utiliser floatcomme paramètre de modèle, le compilateur pleure ce code, alors qu'il intfonctionne correctement. Est-ce parce que je ne peux pas utiliser floatcomme paramètre de modèle? #include&lt;iostream&gt; using namespace std; template &lt;class T, T defaultValue&gt; class GenericClass { private: T value; public: GenericClass() { value = defaultValue; …


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.