Als «c++» getaggte Fragen

Fragen zu C ++, einer statisch typisierten, frei formulierten, kompilierten, universellen Programmiersprache mit mehreren Paradigmen.


10
Warum sollte das Schlüsselwort "final" jemals nützlich sein?
Es scheint, als hätte Java die Fähigkeit, Klassen zu deklarieren, die seit Ewigkeiten nicht mehr abgeleitet werden können, und jetzt hat es auch C ++. Warum ist dies jedoch angesichts des Open / Close-Prinzips in SOLID sinnvoll? Für mich finalklingt das Schlüsselwort wie friend- es ist legal, aber wenn Sie …
54 java  c++  solid  final 

5
Warum sind intelligente Zeiger mit Referenzzählung so beliebt?
Wie ich sehen kann, werden intelligente Zeiger in vielen realen C ++ - Projekten häufig verwendet. Obwohl eine Art von intelligenten Zeigern offensichtlich für die Unterstützung von RAII- und Eigentumsübertragungen von Vorteil ist, gibt es auch einen Trend, standardmäßig gemeinsame Zeiger als " Speicherbereinigungsmethode " zu verwenden , damit der …

8
Was passiert mit Müll in C ++?
Java hat eine automatische GC, die hin und wieder die Welt stoppt, sich aber um den Müll auf einem Haufen kümmert. Jetzt haben C / C ++ - Anwendungen diese STW-Einfrierungen nicht mehr, und auch die Speichernutzung nimmt nicht unendlich zu. Wie wird dieses Verhalten erreicht? Wie werden die toten …

3
Warum sind Ausnahmespezifikationen schlecht?
Vor mehr als 10 Jahren haben sie Ihnen beigebracht, Ausnahmespezifizierer zu verwenden. Da ich einer der torvaldischen C-Programmierer bin, der C ++ hartnäckig meidet, wenn ich nicht dazu gezwungen werde, lande ich nur sporadisch in C ++. Die Mehrheit der C ++ - Programmierer scheint sich jedoch über Ausnahmespezifizierer hinwegzusetzen. …

11
Warum hat C ++ 'undefined behaviour' (UB) und andere Sprachen wie C # oder Java nicht?
In diesem Beitrag zum Stapelüberlauf wird eine ziemlich umfassende Liste von Situationen aufgeführt, in denen die C / C ++ - Sprachspezifikation als "undefiniertes Verhalten" deklariert wird. Ich möchte jedoch verstehen, warum andere moderne Sprachen wie C # oder Java nicht das Konzept von "undefiniertem Verhalten" haben. Bedeutet dies, dass …

3
C ++ stark typisierte typedef
Ich habe versucht, eine Möglichkeit zu finden, stark typisierte typedefs zu deklarieren, um eine bestimmte Klasse von Fehlern in der Kompilierungsphase zu erkennen. Es kommt häufig vor, dass ich ein int in mehrere Arten von ids oder einen Vektor zur Positionierung oder Geschwindigkeit eingebe: typedef int EntityID; typedef int ModelID; …
49 c++  c++11  type-safety 

5
Warum nehmen alle <algorithm> -Funktionen nur Bereiche an, keine Container?
Es gibt viele nützliche Funktionen in &lt;algorithm&gt;, aber alle arbeiten mit "Sequenzen" - Paaren von Iteratoren. Wenn ich zB einen Container habe und darauf laufen möchte std::accumulate, muss ich schreiben: std::vector&lt;int&gt; myContainer = ...; int sum = std::accumulate(myContainer.begin(), myContainer.end(), 0); Wenn alles, was ich vorhabe, ist: int sum = std::accumulate(myContainer, …

9
Erklärung, wie "Tell, Don't Ask" als guter OO angesehen wird
Dieser Blogpost wurde in den Hacker News mit mehreren positiven Stimmen gepostet. Aus C ++ stammend, scheinen die meisten dieser Beispiele gegen das zu verstoßen, was mir beigebracht wurde. Zum Beispiel # 2: Schlecht: def check_for_overheating(system_monitor) if system_monitor.temperature &gt; 100 system_monitor.sound_alarms end end gegen gut: system_monitor.check_for_overheating class SystemMonitor def check_for_overheating …


2
Sind reine Header-Bibliotheken effizienter?
Annahmen Einer der Vorteile von Nur-Header-Bibliotheken für C ++ besteht darin, dass sie nicht separat kompiliert werden müssen. In C und C ++ inlinemacht nur Sinn , wenn die Funktion definiert in einer Header - Datei *. Traditionell wurde in C das Layout .c / .h verwendet, wobei der Header …
48 c++  c  libraries 

8
Wann sollten virtuelle Destruktoren NICHT verwendet werden?
Ich glaubte, ich habe viele Male nach virtuellen Destruktoren gesucht, die meisten erwähnen den Zweck von virtuellen Destruktoren und warum Sie virtuelle Destruktoren benötigen. Außerdem denke ich, dass Destruktoren in den meisten Fällen virtuell sein müssen. Dann lautet die Frage: Warum setzt c ++ nicht standardmäßig alle Destruktoren virtuell? oder …



3
Android-Entwicklung mit C und C ++ [geschlossen]
Ich bin ein C, C ++ Entwickler. Ich interessiere mich für mobile Entwicklung. Ich möchte wissen, wie ich Android-Apps mit C und C ++ entwickeln kann. Ich habe gelesen, dass sie ein Kit für C- und C ++ -Entwickler bereitstellen, das jedoch nicht alle Funktionen ab Java-Kit bietet. Sollte ich …
47 c++  c  android 

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.