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.




2
Déduction inadéquate des types automatiques entre différents compilateurs c ++
Donc, j'essaie d'implémenter le produit scalaire ( https://en.wikipedia.org/wiki/Dot_product ) dans une certaine saveur du C ++ moderne et j'ai trouvé le code suivant: #include <iostream> template<class... Args> auto dot(Args... args) { auto a = [args...](Args...) { return [=](auto... brgs) { static_assert(sizeof...(args) == sizeof...(brgs)); auto v1 = {args...}, i1 = v1.begin(); …


1
Les expressions require sont-elles autorisées à «capturer» les variables de la portée englobante?
Dans l'exemple suivant, les arguments de fonction sont utilisés pour tester avec une expression require si une expression les utilisant est bien formée. L'expression require ne prend aucun argument; il utilise directement les variables de la portée de la fonction: #include <cstddef> #include <vector> template<typename T> void Resize(T &v, std::size_t …

2
Mon compilateur a-t-il ignoré mon membre statique inutilisé de la classe thread_local?
Je veux faire un enregistrement de thread dans ma classe, donc je décide d'ajouter une vérification pour la thread_localfonctionnalité: #include <iostream> #include <thread> class Foo { public: Foo() { std::cout << "Foo()" << std::endl; } ~Foo() { std::cout << "~Foo()" << std::endl; } }; class Bar { public: Bar() { …

2
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 je …
10 c++  c++14  c++17 

3
Pourquoi n'est-il pas nécessaire d'utiliser le nom de type pour les types dépendants dans le cas suivant?
J'ai lu sur la suppression de la référence d'un type ici . Il donne l'exemple suivant: #include <iostream> // std::cout #include <type_traits> // std::is_same template<class T1, class T2> void print_is_same() { std::cout << std::is_same<T1, T2>() << '\n'; } int main() { std::cout << std::boolalpha; print_is_same<int, int>(); print_is_same<int, int &>(); print_is_same<int, …

5
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 exemple …






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.