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
Ist die Verwendung von reinterpret_cast auf einem memcpy-Puffer UB?
Angesichts des Codes struct A {}; auto obj = new A; std::vector<unsigned char> buffer; buffer.resize(sizeof(obj)); std::memcpy(buffer.data(), &obj, sizeof(obj)); // this copies the pointer, not the object! // ... auto ptr = *reinterpret_cast<A**>(buffer.data()); // is this UB? delete ptr; ist die Verwendung von reinterpret_castin diesem Fall UB? Ich würde ja sagen, …



1
Wie ordne ich einen Vektor von Atomtypen zu?
Wie kann ich die Elemente eines Vektors einem Atomtyp zuordnen? #include <iostream> #include <thread> #include <vector> using namespace std; int main() { vector<atomic<bool>> myvector; int N=8; myvector.assign(N,false); cout<<"done!"<<endl; } https://wandbox.org/permlink/lchfOvqyL3YKNivk prog.cc: In function 'int main()': prog.cc:11:28: error: no matching function for call to 'std::vector<std::atomic<bool> >::assign(int&, bool)' 11 | myvector.assign(N,false); | …

3
Verwenden Sie die aktuelle Vorlage als Vorlagenparameter für einen der Vorlagenparameter
Ich versuche, eine generische Diagrammstruktur zu erstellen, aber ich stoße auf diese kreisförmige Abhängigkeit zwischen Scheitelpunkten und Kanten. Ich definiere meine Vertex- und Edge-Klassen folgendermaßen: template<typename EdgeType> struct Vertex { std::vector<EdgeType> successors; }; template<typename EdgeCostType, typename VertexWrapper> struct Edge { EdgeCostType cost; VertexWrapper source; VertexWrapper dest; }; Ich würde es …


3
Finden Sie in linearer Zeit heraus, ob sich in einem sortierten Vektor ein Paar befindet, das sich zu einem bestimmten Wert addiert
Angesichts eines std::vectorbestimmten Elements, das in aufsteigender Reihenfolge sortiert ist, möchte ich einen Algorithmus entwickeln, der bestimmt, ob die Sammlung zwei Elemente enthält, deren Summe ein bestimmter Wert ist sum. Ich habe zwei verschiedene Ansätze mit ihren jeweiligen Kompromissen ausprobiert: Ich kann den gesamten Vektor scannen und für jedes Element …
8 c++  algorithm  c++11  search  stl 



2
Vorlagenklassenoperator + Überladungsrückgabetyp
Ich versuche, eine Num-Klasse mit Vorlagen zu erstellen. Diese Klasse muss ein öffentliches Attribut valmit dem Typ type haben T, der der einzige Vorlagenparameter ist. Wenn man einen Wert angibt, valsollte das Attribut ( ) mit diesem Wert initialisiert werden. Dazu habe ich folgenden Code erstellt: #include <iostream> template<class T> …




1
Leere Funktion verstehen (A ())
Das ist mein Code #include <iostream> class A { public: int a = 0; A(int i = 0) : a(i) {} }; void func(A()) { std::cout << "Hello" << std::endl; } int main() { A(*p)() = NULL; func(p); } Was mich verwirrt hat ist, dass A()in void func(A())gleich A (*)()anstelle …
8 c++ 

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.