Articles of c ++ faq

Dois-je inclure ou dans les programmes C ++?

Que dois-je inclure dans les programmes C ++, stdio.h ou cstdio ? et pourquoi? Pourquoi deux fichiers d’en-tête offrant les mêmes fonctionnalités? Que dit la norme à ce sujet? Comment dois-je inclure d’autres en-têtes de ce type? Existe-t-il une règle de base que je devrais suivre?

Est-il possible d’empêcher l’allocation de stack d’un object et de ne permettre son instanciation qu’avec «new»?

Est-il possible d’empêcher l’allocation de stack d’un object et de ne permettre son instanciation qu’avec «new» sur le tas?

Pourquoi avons-nous réellement besoin de l’inheritance privé ou protégé en C ++?

En C ++, je ne peux pas penser à un cas dans lequel j’aimerais hériter de private / protected depuis une classe de base: class Base; class Derived1 : private Base; class Derived2 : protected Base; Est-ce vraiment utile?

Quelles sont toutes les fonctions membres créées par le compilateur pour une classe? Est-ce que ça arrive tout le temps?

Quelles sont toutes les fonctions membres créées par le compilateur pour une classe? Est-ce que ça arrive tout le temps? comme destructeur. Mon souci est de savoir s’il est créé pour toutes les classes et pourquoi le constructeur par défaut est-il nécessaire?

Que se passe-t-il lorsqu’une exception n’est pas gérée dans un programme C ++ 11 multithread?

Si j’ai un programme C ++ 11 qui exécute deux threads et que l’un d’eux lance une exception non gérée, que se passe-t-il? Le programme entier mourra-t-il d’une mort ardente? Est-ce que le thread où l’exception est lancée mourra seul (et si oui, puis-je obtenir l’exception dans ce cas)? Quelque chose d’autre entièrement?

Comment améliorer IOStream?

La plupart des utilisateurs de C ++ qui ont appris C préfèrent utiliser la famille de fonctions printf / scanf même lorsqu’ils codent en C ++. Bien que j’admette que je trouve l’interface beaucoup mieux (en particulier le format et la localisation de type POSIX), il semble qu’une préoccupation majeure est la performance. En regardant […]

Quels sont les guides de déduction des modèles et quand les utiliser?

La norme C ++ 17 introduit des “guides de déduction de modèles”. Je suppose qu’ils ont quelque chose à voir avec la nouvelle déduction d’argument de modèle pour les constructeurs introduite dans cette version du standard, mais je n’ai pas encore vu d’explication simple, de style FAQ, sur ce qu’ils sont et ce qu’ils sont […]

Comment est-ce que je devrais écrire les opérateurs et les opérateurs de suppression conformes à la norme ISO C ++ Standard?

Comment est-ce que je devrais écrire les opérateurs et delete opérateurs de delete conformes à la norme ISO C ++? Cela fait suite à la surcharge de nouveau et à la suppression dans la FAQ C ++ immensément éclairante, à la surcharge d’opérateur et à son suivi. Pourquoi remplacer les opérateurs new et delete par […]

gcc / g ++: «Pas de tel fichier ou répertoire»

g++ me donne des erreurs de la forme: foo.cc::: fatal error: : No such file or directory compilation terminated. Il en va de même lors de la compilation de programmes C avec gcc . Pourquoi donc? Remarque: cette question a déjà été posée à plusieurs resockets, mais à chaque fois, elle était spécifique à la […]

Pourquoi remplacer les opérateurs new et delete par défaut?

Pourquoi faut -il remplacer l’opérateur par défaut new et delete par un new et delete opérateurs personnalisés? Ceci est dans la suite de la surcharge de nouveau et de supprimer dans la FAQ C ++ immensément éclairante: Surcharge de l’opérateur. Une entrée de suivi de cette FAQ est: Comment est-ce que je devrais écrire les […]