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.

3
Fügt C ++ 14 C ++ neue Schlüsselwörter hinzu?
Das C ++ - Standardkomitee scheut sich, der Sprache neue Schlüsselwörter hinzuzufügen, bei C ++ 11 war dies jedoch nicht der Fall. Einige Beispiele: constexpr decltype thread_local auto // New usage noexcept nullptr static_assert alignof alignas Gibt es neue Schlüsselwörter, die mit C ++ 14 eingeführt wurden?
103 c++  c++11  keyword  c++14 


4
Wo ist shared_ptr?
Ich bin gerade so frustriert, nachdem ich mehrere Stunden lang versucht habe herauszufinden, wo sich shared_ptr befindet. Keines der Beispiele, die ich sehe, zeigt vollständigen Code, der die Überschriften für shared_ptr(und das Arbeiten) enthält. Einfach gesagt std, tr1und <memory>hilft überhaupt nicht! Ich habe Boosts heruntergeladen und alles, aber es wird …


2
Compiler mit 'pi'-Symbol bei Fehler
Ich habe Code auf Coliru getestet und eine seltsame Ausgabe erhalten. Ich ging den Code durch und konnte ihn mit diesem einfachen Code reproduzieren : int main() { π } Die Ausgabe auf g ++: klirren: Wenn Sie beispielsweise nur pi(ohne die Adresse von) verwenden, wird das erwartete Ergebnis angezeigt: …
103 c++  coliru 

5
Garantierte Lebensdauer der temporären in C ++?
Bietet C ++ eine Garantie für die Lebensdauer einer temporären Variablen, die innerhalb eines Funktionsaufrufs erstellt, aber nicht als Parameter verwendet wird? Hier ist eine Beispielklasse: class StringBuffer { public: StringBuffer(std::string & str) : m_str(str) { m_buffer.push_back(0); } ~StringBuffer() { m_str = &m_buffer[0]; } char * Size(int maxlength) { m_buffer.resize(maxlength …
103 c++ 

4
Warum tippt jeder über Standard-C-Typen?
Wenn Sie verwenden möchten , Qt , müssen Sie umarmen quint8, quint16und so weiter. Wenn Sie verwenden möchten GLib , müssen Sie willkommen guint8, guint16und so weiter. Auf Linux gibt es u32, s16und so weiter. uC / OS definiert SINT32, UINT16und so weiter. Und wenn Sie eine Kombination dieser Dinge …
103 c++  c  stdint 

6
Wofür ist __gxx_personality_v0?
Dies ist eine gebrauchte Frage von einer OS-Entwicklungsseite, die mich jedoch neugierig machte, da ich nirgendwo eine anständige Erklärung finden konnte. Beim Kompilieren und Verknüpfen eines freistehenden C ++ - Programms mit gcc tritt manchmal ein Linkerfehler wie der folgende auf: out/kernel.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0' Dies liegt anscheinend daran, …
103 c++  gcc  linker  kernel 

12
Warum sind C-Zeichen-Literale Ints anstelle von Zeichen?
In C ++ , sizeof('a') == sizeof(char) == 1. Dies ist intuitiv sinnvoll, da 'a'es sich um ein Zeichenliteral handelt und sizeof(char) == 1wie im Standard definiert. In C jedoch sizeof('a') == sizeof(int). Das heißt, es scheint, dass C-Zeichenliterale tatsächlich ganze Zahlen sind. Weiß jemand warum? Ich kann viele Erwähnungen …
103 c++  c  char  sizeof 

10
Warum hat std :: set keine Member-Funktion "enthält"?
Ich benutze viel std::set<int>und oft muss ich einfach überprüfen, ob ein solches Set eine Nummer enthält oder nicht. Ich würde es natürlich finden zu schreiben: if (myset.contains(number)) ... Aber wegen des Fehlens eines containsMitglieds muss ich das umständliche schreiben: if (myset.find(number) != myset.end()) .. oder das nicht so offensichtlich: if …
103 c++  stl  stdset 

2
boost :: flat_map und seine Leistung im Vergleich zu map und unordered_map
In der Programmierung ist allgemein bekannt, dass die Speicherlokalität die Leistung aufgrund von Cache-Treffern erheblich verbessert. Ich habe kürzlich herausgefunden, boost::flat_mapwelches eine vektorbasierte Implementierung einer Karte ist. Es scheint nicht annähernd so beliebt zu sein wie das typische map/ unordered_mapso konnte ich keine Leistungsvergleiche finden. Wie vergleicht es sich und …
103 c++  boost  map 

7
Komma im C / C ++ - Makro
Angenommen, wir haben ein solches Makro #define FOO(type,name) type name Was wir gerne gebrauchen könnten FOO(int, int_var); Aber nicht immer so einfach: FOO(std::map<int, int>, map_var); // error: macro "FOO" passed 3 arguments, but takes just 2 Natürlich könnten wir tun: typedef std::map<int, int> map_int_int_t; FOO(map_int_int_t, map_var); // OK das ist …
103 c++  c  macros  c-preprocessor 

11
Wie konvertiere ich einen String in ein char-Array in C ++?
Ich möchte stringin charArray konvertieren , aber nicht char*. Ich weiß, wie man einen String konvertiert char*(indem mallocich ihn verwende oder wie ich ihn in meinem Code gepostet habe) - aber das ist nicht das, was ich will. Ich möchte einfach stringin ein char[size]Array konvertieren . Ist es möglich? #include …

7
Binärdatei lesen und schreiben
Ich versuche, Code zu schreiben, um eine Binärdatei in einen Puffer zu lesen, und dann den Puffer in eine andere Datei zu schreiben. Ich habe den folgenden Code, aber der Puffer speichert nur ein paar ASCII-Zeichen aus der ersten Zeile in der Datei und sonst nichts. int length; char * …
103 c++  file  binary  buffer 


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.