Questions marquées «c++-faq»

Fournit une FAQ C ++ collaborative et éditée par la communauté

4
Comment surcharger std :: swap ()
std::swap()est utilisé par de nombreux conteneurs std (tels que std::listet std::vector) pendant le tri et même l'affectation. Mais l'implémentation std de swap()est très généralisée et plutôt inefficace pour les types personnalisés. Ainsi, l'efficacité peut être gagnée en surchargeant std::swap()avec une implémentation spécifique de type personnalisé. Mais comment pouvez-vous l'implémenter pour …


4
Que sont les comparateurs transparents?
En C ++ 14, les conteneurs associatifs semblent avoir changé depuis C ++ 11 - [associative.reqmts] / 13 dit: Les modèles de fonction membre find, count, lower_bound, upper_boundet equal_rangene participent pas à la résolution de surcharge sauf si le type Compare::is_transparentexiste. Quel est le but de rendre un comparateur "transparent"? …
106 c++  c++14  c++-faq 



4
Quelle est la bonne réponse pour cout << a ++ << a ;?
Récemment, dans une interview, il y avait une question de type objectif suivante. int a = 0; cout &lt;&lt; a++ &lt;&lt; a; Réponses: une. 10 b. 01 ch. comportement indéfini J'ai répondu au choix b, c'est-à-dire que la sortie serait "01". Mais à ma grande surprise plus tard, un intervieweur …
98 c++  c++-faq 

17
Quel est l'intérêt des pointeurs de fonction?
J'ai du mal à voir l'utilité des pointeurs de fonction. Je suppose que cela peut être utile dans certains cas (ils existent, après tout), mais je ne peux pas penser à un cas où il est préférable ou inévitable d'utiliser un pointeur de fonction. Pourriez-vous donner un exemple de bonne …
94 c++  c  function  pointers  c++-faq 


2
Quand les parenthèses supplémentaires ont-elles un effet, autre que sur la priorité des opérateurs?
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 …


3
Quelle est exactement la règle du «comme si»?
Comme le titre l'indique, Quelle est exactement la règle du «comme si»? Une réponse typique que l'on obtiendrait est: La règle qui autorise toutes les transformations de code qui ne changent pas le comportement observable du programme De temps en temps, nous continuons à obtenir des comportements de certaines implémentations …
89 c++  c  optimization  c++-faq  as-if 

5
Passer des pointeurs partagés comme arguments
Si je déclare un objet enveloppé dans un pointeur partagé: std::shared_ptr&lt;myClass&gt; myClassObject(new myClass()); alors j'ai voulu le passer comme argument à une méthode: DoSomething(myClassObject); //the called method void DoSomething(std::shared_ptr&lt;myClass&gt; arg1) { arg1-&gt;someField = 4; } Est-ce que ce qui précède incrémente simplement le nombre de références de shared_pt et tout …



1
gcc / g ++: "Aucun fichier ou répertoire de ce type"
g++ me donne des erreurs de forme: foo.cc:&lt;line&gt;:&lt;column&gt;: fatal error: &lt;bar&gt;: No such file or directory compilation terminated. C'est la même chose lors de la compilation de programmes C avec gcc. Pourquoi donc? Remarque: cette question a été posée plusieurs fois auparavant, mais à chaque fois, elle était spécifique à …
87 c++  c  gcc  g++  c++-faq 

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.