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.

1
void_t "kann Konzepte implementieren"?
Ich habe den zweiten Teil von Walter Browns CppCon2014-Vortrag über Template-Metaprogrammierung gesehen , in dem er die Verwendung seiner neuartigen void_t<>Konstruktion diskutierte . Während seines Vortrags stellte Peter Sommerlad ihm eine Frage, die ich nicht ganz verstand. (Link geht direkt auf die Frage, der diskutierte Code fand direkt davor statt) …

3
Ist dieses Verhalten von std :: ref logisch?
Betrachten Sie diesen Code: #include <iostream> #include <functional> int xx = 7; template<class T> void f1(T arg) { arg += xx; } template<class T> void f2(T arg) { arg = xx; } int main() { int j; j=100; f1(std::ref(j)); std::cout << j << std::endl; j=100; f2(std::ref(j)); std::cout << j << …
68 c++  c++11  ref 

6
Bessere Variablenerkundung beim Debuggen von C ++ - Code mit Eclipse / CDT
Bei Verwendung von Eclipse und CDT zum Debuggen von C ++ - Code sind die variablen Fenster umständlich und für in der Standardvorlagenbibliothek oder in boost (z. B. shared_ptr) definierte Typen nicht sehr informativ. Nur ein Beispiel, wie dies für einen std :: vector aussehen könnte: bar {…} std::_Vector_base<TSample<MyTraits>, std::allocator<TSample<MyTraits> …
68 c++  eclipse  gdb  eclipse-cdt 



12
Wann sollte ich typedef in C ++ verwenden?
In meinen Jahren der C ++ (MFC) -Programmierung in hatte ich nie das Bedürfnis, sie zu verwenden typedef, daher weiß ich nicht wirklich, wofür sie verwendet wird. Wo soll ich es verwenden? Gibt es reale Situationen, in denen die Verwendung typedefbevorzugt wird? Oder ist das wirklich eher ein C-spezifisches Schlüsselwort?
68 c++  typedef 

4
Wie vermeide ich Speicherverluste, wenn ich einen Vektor von Zeigern auf dynamisch zugewiesene Objekte in C ++ verwende?
Ich verwende einen Vektor von Zeigern auf Objekte. Diese Objekte werden von einer Basisklasse abgeleitet und dynamisch zugeordnet und gespeichert. Zum Beispiel habe ich so etwas wie: vector<Enemy*> Enemies; und ich werde von der Enemy-Klasse ableiten und dann dynamisch Speicher für die abgeleitete Klasse zuweisen, wie folgt: enemies.push_back(new Monster()); Was …
68 c++  stl  pointers  vector  derived 

2
Wie funktioniert dieser Vorlagencode, um die Größe eines Arrays zu ermitteln?
Ich frage mich, warum diese Art von Code die Größe des Testarrays erhalten kann. Ich bin mit der Grammatik in der Vorlage nicht vertraut. Vielleicht könnte jemand die Bedeutung des Codes unter erklären template<typename,size_t>. Außerdem wird auch ein Referenzlink bevorzugt. #define dimof(array) (sizeof(DimofSizeHelper(array))) template <typename T, size_t N> char(&DimofSizeHelper(T(&array)[N]))[N]; void …
61 c++  visual-c++ 



3
Der Gleichheitsoperator wird für eine Implementierung eines benutzerdefinierten Raumschiffoperators in C ++ 20 nicht definiert
Ich habe ein seltsames Verhalten mit dem neuen Raumschiffoperator <=>in C ++ 20. Ich verwende den Visual Studio 2019-Compiler mit /std:c++latest. Dieser Code wird wie erwartet gut kompiliert: #include <compare> struct X { int Dummy = 0; auto operator<=>(const X&) const = default; // Default implementation }; int main() { …


5
Vorlagenfreundliche Zeichenfolge zu numerisch in C ++
In der C ++ - Standardbibliothek gibt es Funktionen zum Konvertieren von Zeichenfolgen in numerische Typen: stoi stol stoll stoul stoull stof stod stold aber ich finde es mühsam, sie im Vorlagencode zu verwenden. Warum gibt es keine Vorlagenfunktionen wie: template<typename T> T sto(...) Zeichenfolgen in numerische Typen konvertieren? Ich …


2
Algorithmus, um eine Lösung für A xor X = B + X zu finden
Suchen Sie bei gegebener Ganzzahl A und B die Ganzzahl X, damit: A, B <2 * 1e18 A x oder X = B + X. Ich bezweifle sehr, dass es möglich ist, diese Gleichung mit Mathematik zu lösen. Dies ist ein Codierungsproblem, auf das ich vor 3 Jahren gestoßen bin, …
46 c++  xor 

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.