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.


6
Der Tilde-Operator in C.
Ich habe den im ELF-Hashing-Algorithmus verwendeten Tilde-Operator gesehen und bin gespannt, was er bewirkt. (Der Code stammt von Eternally Confused .) unsigned elf_hash ( void *key, int len ) { unsigned char *p = key; unsigned h = 0, g; int i; for ( i = 0; i < len; …
95 c++  c  operators 


3
Was ist ein "Memory Stomp"?
Ich bin gerade auf diesen Blog-Beitrag gestoßen, in dem „Stomping Memory“ erwähnt wird: Ein C ++ - Programm, das leicht in der Lage ist, Speicher zu stapeln (etwas, von dem Sie wahrscheinlich noch nie gehört haben, wenn Sie in einer verwalteten Codewelt geboren wurden.) Und tatsächlich habe ich noch nie …

27
Programm stürzt nur beim Release-Build ab - wie debuggen?
Ich habe hier ein Problem vom Typ "Schroedinger's Cat" - mein Programm (eigentlich die Testsuite für mein Programm, aber dennoch ein Programm) stürzt ab, aber nur, wenn es im Release-Modus erstellt wurde und nur, wenn es über die Befehlszeile gestartet wird . Durch das Debuggen von Höhlenmenschen (dh böse printf …
95 c++  debugging 


3
Wie kann ich richtig überprüfen, ob die Funktion std :: in C ++ 11 leer ist?
Ich habe mich gefragt, wie ich richtig prüfen soll, ob ein std::functionleer ist. Betrachten Sie dieses Beispiel: class Test { std::function<void(int a)> eventFunc; void registerEvent(std::function<void(int a)> e) { eventFunc = e; } void doSomething() { ... eventFunc(42); } }; Dieser Code wird in MSVC einwandfrei kompiliert, aber wenn ich doSomething()ohne …

4
Welchen Header soll ich für `size_t` einfügen?
Laut cppreference.com size_t ist in mehreren Headern nämlich definiert <cstddef> <cstdio> <cstring> <ctime> Und seit C ++ 11 auch in <cstdlib> <cwchar> Zunächst frage ich mich, warum dies der Fall ist. Steht dies nicht im Widerspruch zum DRY- Prinzip? Meine Frage ist jedoch: Welchen der oben genannten Header sollte ich …
95 c++  typedef 

12
Iterieren des C ++ - Vektors vom Ende bis zum Anfang
Ist es möglich, einen Vektor vom Ende bis zum Anfang zu iterieren? for (vector<my_class>::iterator i = my_vector.end(); i != my_vector.begin(); /* ?! */ ) { } Oder ist das nur mit so etwas möglich: for (int i = my_vector.size() - 1; i >= 0; --i) { }
95 c++  vector  iterator 

2
Hat dieser Code aus Abschnitt 4.3.6 der 4. Ausgabe von „The C ++ Programming Language“ ein genau definiertes Verhalten?
In Bjarne Stroustrups The C ++ Programming Language 4. Ausgabe, Abschnitt 36.3.6 STL-ähnliche Operationen, wird der folgende Code als Beispiel für die Verkettung verwendet : void f2() { std::string s = "but I have heard it works even if you don't believe in it" ; s.replace(0, 4, "" ).replace( s.find( …


17
Was ist der Punkt von Funktionszeigern?
Ich habe Probleme, die Nützlichkeit von Funktionszeigern zu erkennen. Ich denke, es kann in einigen Fällen nützlich sein (sie existieren schließlich), aber ich kann mir keinen Fall vorstellen, in dem es besser oder unvermeidlich ist, einen Funktionszeiger zu verwenden. Können Sie ein Beispiel für die gute Verwendung von Funktionszeigern (in …
94 c++  c  function  pointers  c++-faq 

2
Beispiel für die UUID-Generierung mit Boost in C ++
Ich möchte nur zufällige UUIDs generieren, da es für Instanzen in meinem Programm nur wichtig ist, eindeutige Bezeichner zu haben. Ich habe mir die Boost-UUID angesehen , kann die UUID jedoch nicht generieren, da ich nicht verstehe, welche Klasse und Methode ich verwenden soll. Ich würde mich freuen, wenn mir …
94 c++  boost  uuid  boost-uuid 

7
Kann man zwischen 0 und -0 unterscheiden?
Ich weiß, dass die ganzzahligen Werte 0und -0im Wesentlichen gleich sind. Aber ich frage mich, ob es möglich ist, zwischen ihnen zu unterscheiden. Woher weiß ich beispielsweise, ob eine Variable zugewiesen wurde -0? bool IsNegative(int num) { // How ? } int num = -0; int additinon = 5; num …


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.