Domande taggate «c++»

C ++ è un linguaggio di programmazione generico. È stato originariamente progettato come estensione di C e ha una sintassi simile, ma ora è un linguaggio completamente diverso. Utilizzare questo tag per domande sul codice (da compilare) compilato con un compilatore C ++. Utilizzare un tag specifico della versione per domande relative a una revisione standard specifica [C ++ 11], [C ++ 14], [C ++ 17] o [C ++ 20], ecc.





2
Perché la mia classe non è costruibile per difetto?
Ho quelle classi: #include <type_traits> template <typename T> class A { public: static_assert(std::is_default_constructible_v<T>); }; struct B { struct C { int i = 0; }; A<C> a_m; }; int main() { A<B::C> a; } Durante la compilazione, a_mnon è costruibile di default ma lo aè. Quando si cambia Cin: struct …
28 c++ 

1
Perché in C ++ static_cast <unsigned> di numeri negativi differisce se il numero è costante o no
Quali sono le regole C ++ che significa che uguale è falso ? Dato: float f {-1.0}; bool equal = (static_cast&lt;unsigned&gt;(f) == static_cast&lt;unsigned&gt;(-1.0)); Ad esempio 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) &lt;&lt; …
28 c++  casting 





2
Elenco di inizializzatori all'interno di std :: pair
Questo codice: #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; } compila ma restituisce segfault. Perché? Testato su gcc 8.3.0 e sui compilatori online.
26 c++  std  std-pair 

3
Va bene restituire il valore dell'argomento predefinito tramite riferimento const?
Va bene restituire il valore dell'argomento predefinito per riferimento const come negli esempi seguenti: 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 s4 = foo("s"); }

3
Come posso creare un modo cartesiano di elenchi di tipi in C ++?
Autoesplicativo. Fondamentalmente, dire che ho elenchi di tipi in questo modo: 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;; Possono essere un numero variabile di elenchi di tipi. Come posso ottenere una lista dei tipi di prodotti cartesiani? result = type_list&lt; type_list&lt;int, somestructB, double&gt;, …


4
Contenitore STL con un tipo specifico come argomento generico
Esiste un modo in cui posso fare una funzione che accetta un contenitore con un tipo specifico (diciamo std::string) come parametro void foo(const std::container&lt;std::string&gt; &amp;cont) { for(std::string val: cont) { std::cout &lt;&lt; val &lt;&lt; std::endl; } } e chiamarlo per ogni tipo di contenitore stl come input? come sopra? std::set&lt;std::string&gt; …

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.