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.

6
Est-il sûr d'échanger deux vecteurs différents en C ++, en utilisant la méthode std :: vector :: swap?
Supposons que vous ayez le code suivant: #include <iostream> #include <string> #include <vector> int main() { std::vector<std::string> First{"example", "second" , "C++" , "Hello world" }; std::vector<std::string> Second{"Hello"}; First.swap(Second); for(auto a : Second) std::cout << a << "\n"; return 0; } Imaginez que le vecteur ne le soit pas std::string, mais …
30 c++  c++11  vector  stdvector  swap 






1
Pourquoi en C ++ le static_cast <unsigned> des nombres négatifs diffère-t-il si le nombre est constant ou non
Quelles sont les règles C ++ qui signifient que l' égalité est fausse ?. Donné: float f {-1.0}; bool equal = (static_cast&lt;unsigned&gt;(f) == static_cast&lt;unsigned&gt;(-1.0)); Par exemple https://godbolt.org/z/fcmx2P #include &lt;iostream&gt; int main() { float f {-1.0}; const float cf {-1.0}; std::cout &lt;&lt; std::hex; std::cout &lt;&lt; " f" &lt;&lt; "=" &lt;&lt; static_cast&lt;unsigned&gt;(f) …
28 c++  casting 

2
Pourquoi ma classe n'est-elle pas constructible par défaut?
J'ai ces cours: #include &lt;type_traits&gt; template &lt;typename T&gt; class A { public: static_assert(std::is_default_constructible_v&lt;T&gt;); }; struct B { struct C { int i = 0; }; A&lt;C&gt; a_m; }; int main() { A&lt;B::C&gt; a; } Lors de la compilation, a_mn'est pas constructible par défaut mais l' aest. Lors du passage Cà: …
28 c++ 



2
Pourquoi la sommation groupée est-elle plus lente avec les groupes triés que les groupes non triés?
J'ai 2 colonnes d'entiers délimités par des tabulations, dont la première est un entier aléatoire, la seconde un entier identifiant le groupe, qui peut être généré par ce programme. ( generate_groups.cc) #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;ctime&gt; int main(int argc, char* argv[]) { int num_values = atoi(argv[1]); int num_groups = …
27 c++  performance 


2
Liste d'initialisation dans std :: pair
Ce code: #include &lt;iostream&gt; #include &lt;string&gt; std::pair&lt;std::initializer_list&lt;std::string&gt;, int&gt; groups{ { "A", "B" }, 0 }; int main() { for (const auto&amp; i : groups.first) { std::cout &lt;&lt; i &lt;&lt; '\n'; } return 0; } compile mais renvoie segfault. Pourquoi? Testé sur gcc 8.3.0 et sur des compilateurs en ligne.
26 c++  std  std-pair 

3
Est-il correct de renvoyer la valeur de l'argument par défaut par référence const?
Est-il correct de renvoyer la valeur de l'argument par défaut par référence const comme dans les exemples ci-dessous: https://coliru.stacked-crooked.com/a/ff76e060a007723b #include &lt;string&gt; const std::string&amp; foo(const std::string&amp; s = std::string("")) { return s; } int main() { const std::string&amp; s1 = foo(); std::string s2 = foo(); const std::string&amp; s3 = foo("s"); std::string …

3
Comment puis-je créer un produit cartésien de listes de types en C ++?
Explicite. Fondamentalement, disons que j'ai des listes de types comme ceci: using type_list_1 = type_list&lt;int, somestructA&gt;; using type_list_2 = type_list&lt;somestructB&gt;; using type_list_3 = type_list&lt;double, short&gt;; Ils peuvent être des nombres variés de listes de types. Comment obtenir une liste de types de produits cartésiens? result = type_list&lt; type_list&lt;int, somestructB, double&gt;, …

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.