Questions marquées «c++»

11
Comment savoir quelles fonctions le compilateur a généré?

Je connais les fonctions générées par le compilateur, la règle de trois et la règle de cinq. Dans les scénarios du monde réel, il peut ne pas être trivial de déterminer exactement quelles fonctions générées par le compilateur (constructeurs, opérateurs d'affectation, destructeur) ont été réellement...

11
Changement de rupture en C ++ 20 ou régression dans clang-trunk / gcc-trunk lors de la surcharge de comparaison d'égalité avec une valeur de retour non booléenne?

Le code suivant compile correctement avec clang-trunk en mode c ++ 17 mais se casse en mode c ++ 2a (c ++ 20 à venir): // Meta struct describing the result of a comparison struct Meta {}; struct Foo { Meta operator==(const Foo&) {return Meta{};} Meta operator!=(const Foo&) {return Meta{};}...

10
Liaison dynamique - Linux Vs. les fenêtres

Sous Windows, lorsque je compile du code C / C ++ dans un projet DLL dans MSVC, j'obtiens 2 fichiers: MyDll.dll MyDll.lib où, pour autant que je comprends, MyDll.libcontient une sorte de tableau de pointeurs indiquant les emplacements des fonctions dans la DLL. Lorsque vous utilisez cette DLL, par...

10
Comment élider la copie lors du chaînage?

Je crée une classe de type chaînage, comme le petit exemple ci-dessous. Il semble que lors du chaînage des fonctions membres, le constructeur de copie soit invoqué. Existe-t-il un moyen de se débarrasser de l'appel du constructeur de copie? Dans mon exemple de jouet ci-dessous, il est évident que...