Questions marquées «c++»

57
Pourquoi n'y a-t-il pas de construction "finale" en C ++?

La gestion des exceptions en C ++ est limitée à essayer / lancer / attraper. Contrairement à Object Pascal, Java, C # et Python, même en C ++ 11, la finallyconstruction n'a pas été implémentée. J'ai vu énormément de littérature C ++ parler de "code sécurisé d'exception". Lippman écrit que le code...

56
Pourquoi y a-t-il autant de classes de chaînes face à std :: string?

Il me semble que beaucoup de bibliothèques C ++ plus grandes finissent par créer leur propre type de chaîne. Dans le code client que vous avez soit d'utiliser celui de la bibliothèque ( QString, CString, fbstringetc., je suis sûr que tout le monde peut en nommer que quelques - uns) ou garder la...

55
Pourquoi avons-nous incrémenté postfix?

Disclaimer : Je connais parfaitement la sémantique de l'incrément de préfixe et de postfix. Alors s'il te plait, ne m'explique pas comment ils fonctionnent. En lisant les questions sur le dépassement de pile, je ne peux m'empêcher de remarquer que les programmeurs sont confus par l'opérateur...

54
Pourquoi le mot clé "final" serait-il utile?

Il semble que Java ait eu le pouvoir de déclarer des classes non-dérivables depuis des siècles, et maintenant, C ++ l’a aussi. Cependant, à la lumière du principe Open / Close de SOLID, pourquoi cela serait-il utile? Pour moi, le finalmot - clé sonne juste friend- il est légal, mais si vous...

51
Qu'advient-il des ordures en C ++?

Java a un GC automatique qui stoppe parfois le monde de temps en temps, mais prend en charge les déchets sur un tas. Maintenant, les applications C / C ++ ne gèlent pas STW, leur utilisation de la mémoire ne se développe pas non plus à l'infini. Comment ce comportement est-il atteint? Comment sont...

50
C ++ typedef typedef fortement

J'ai essayé de trouver un moyen de déclarer des typedefs fortement typés, d'attraper une certaine classe de bogues au stade de la compilation. Il arrive souvent que je tape un int dans plusieurs types d'identifiants, ou un vecteur de position ou de vélocité: typedef int EntityID; typedef int...

49
Les bibliothèques d'en-tête seulement sont-elles plus efficaces?

Hypothèses L'un des avantages des bibliothèques d'en-tête uniquement pour C ++ est qu'elles n'ont pas besoin d'être compilées séparément. En C et C ++ inlinen'a de sens que si la fonction est définie dans un fichier d'en-tête *. Traditionnellement, en C, on utilisait la disposition .c / .h, où...

48
Quand NE PAS utiliser les destructeurs virtuels?

Je croyais avoir recherché à plusieurs reprises au sujet des destructeurs virtuels, la plupart mentionnant le but des destructeurs virtuels et la raison pour laquelle vous avez besoin de destructeurs virtuels. De plus, je pense que dans la plupart des cas, les destructeurs doivent être virtuels....