Als «c++» getaggte Fragen

C ++ ist eine universelle Programmiersprache. Es wurde ursprünglich als Erweiterung von C entwickelt und hat eine ähnliche Syntax, ist aber jetzt eine völlig andere Sprache. Verwenden Sie dieses Tag für Fragen zu Code, der mit einem C ++ - Compiler kompiliert werden soll. Verwenden Sie ein versionierungsspezifisches Tag für Fragen zu einer bestimmten Standardversion [C ++ 11], [C ++ 14], [C ++ 17] oder [C ++ 20] usw.

7
C ++ Warnung: Division von Double durch Null
Fall 1: #include <iostream> int main() { double d = 15.50; std::cout<<(d/0.0)<<std::endl; } Es wird ohne Warnungen kompiliert und gedruckt inf. OK, C ++ kann die Division durch Null verarbeiten ( siehe live ). Aber, Fall 2: #include <iostream> int main() { double d = 15.50; std::cout<<(d/0)<<std::endl; } Der Compiler …

2
Welche Regeln gelten für das Token „…“ im Zusammenhang mit variablen Vorlagen?
In C ++ 11 gibt es verschiedene Vorlagen wie diese: template< class T, class... Args > unique_ptr<T> make_unique( Args&&... args ) { return unique_ptr<T>(new T(std::forward<Args>(args)...)); } Hier gibt es einige Kuriositäten: Der Ausdruck std::forward<Args>(args)...verwendet beide Argsund argsnur einen ...Token. Darüber hinaus std::forwardist eine nicht variadische Vorlagenfunktion nur ein Vorlagenparameter und …




4
Wie ist die std :: Funktion implementiert?
Gemäß den Quellen, die ich gefunden habe, wird ein Lambda-Ausdruck im Wesentlichen vom Compiler implementiert, der eine Klasse mit überladenem Funktionsaufrufoperator und den referenzierten Variablen als Mitglieder erstellt. Dies deutet darauf hin, dass die Größe der Lambda-Ausdrücke variiert und bei ausreichenden Referenzvariablen die Größe beliebig groß sein kann . Ein …
98 c++  c++11  lambda 


15
std :: string zum schweben oder verdoppeln
Ich versuche zu konvertieren std::stringzu float/double. Ich habe es versucht: std::string num = "0.6"; double temp = (double)atof(num.c_str()); Aber es gibt immer Null zurück. Irgendwelche anderen Möglichkeiten?
98 c++ 


6
Sind Ausnahmen in C ++ wirklich langsam?
Ich habe die systematische Fehlerbehandlung in C ++ beobachtet - Andrei Alexandrescu behauptet, dass Ausnahmen in C ++ sehr, sehr langsam sind. Gilt das noch für C ++ 98?
98 c++ 


6
Warum ist vector <bool> kein STL-Container?
Punkt 18 von Scott Meyers 'Buch Effective STL: 50 Spezifische Möglichkeiten zur Verbesserung Ihrer Verwendung der Standardvorlagenbibliothek sollten vermieden werden , vector &lt;bool&gt;da es sich nicht um einen STL-Container handelt und nicht wirklich bools enthält. Der folgende Code: vector &lt;bool&gt; v; bool *pb =&amp;v[0]; wird nicht kompiliert, was eine Anforderung …

2
Verhindern Sie, dass die Funktion const std :: string & 0 akzeptiert
Mehr als tausend Worte: #include&lt;string&gt; #include&lt;iostream&gt; class SayWhat { public: SayWhat&amp; operator[](const std::string&amp; s) { std::cout&lt;&lt;"here\n"; // To make sure we fail on function entry std::cout&lt;&lt;s&lt;&lt;"\n"; return *this; } }; int main() { SayWhat ohNo; // ohNo[1]; // Does not compile. Logic prevails. ohNo[0]; // you didn't! this compiles. return …

14
Warum sollte Gießen vermieden werden? [geschlossen]
Geschlossen . Diese Frage muss fokussierter sein . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so, dass sie sich nur auf ein Problem konzentriert, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 4 Jahren . Verbessere diese Frage Ich vermeide Casting-Typen im Allgemeinen …
97 c#  java  c++  casting 

4
Wie verwende ich QueryPerformanceCounter?
Ich habe kürzlich entschieden, dass ich für meine Timer-Klasse von Millisekunden auf Mikrosekunden umsteigen muss, und nach einigen Recherchen habe ich entschieden, dass QueryPerformanceCounter wahrscheinlich meine sicherste Wahl ist. (Die Warnung, Boost::Posixdass es unter Win32-API möglicherweise nicht funktioniert, hat mich etwas abgeschreckt). Ich bin mir jedoch nicht sicher, wie ich …
97 c++  windows  timer 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.