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.

4
c ++ 0x: Richtige Methode, um ein Lambda als Parameter als Referenz zu erhalten
Was ist der richtige Weg, um eine Funktion zu definieren, die einen int->intLambda-Parameter als Referenz empfängt ? void f(std::function< int(int) >& lambda); oder void f(auto& lambda); Ich bin mir nicht sicher, ob das letzte Formular überhaupt eine legale Syntax ist. Gibt es andere Möglichkeiten, einen Lambda-Parameter zu definieren?

6
Richtige Methode zum Initialisieren von C ++ - Strukturen
Unser Code enthält eine POD-Struktur (Plain Old Datastructure) (es ist eine grundlegende c ++ - Struktur, die andere Strukturen und POD-Variablen enthält, die zu Beginn initialisiert werden müssen.) Basierend auf einem, was ich gelesen habe , scheint es, dass: myStruct = (MyStruct*)calloc(1, sizeof(MyStruct)); sollte alle Werte auf Null initialisieren, ebenso …


4
Speicherausrichtung: Wie verwende ich alignof / alignas?
Ich arbeite gerade mit Shared Memory. Ich kann nicht verstehen alignofund alignas. cppreference ist unklar: Gibtalignof "Ausrichtung" zurück, aber was ist "Ausrichtung"? Anzahl der hinzuzufügenden Bytes für den nächsten auszurichtenden Block? gepolsterte Größe? Stapelüberlauf / Blogeinträge sind ebenfalls unklar. Kann jemand klar alignofund deutlich erklären alignas?

5
Referenzelementvariablen als Klassenmitglieder
An meinem Arbeitsplatz sehe ich diesen Stil ausgiebig verwendet: #include <iostream> using namespace std; class A { public: A(int& thing) : m_thing(thing) {} void printit() { cout << m_thing << endl; } protected: const int& m_thing; //usually would be more complex object }; int main(int argc, char* argv[]) { int …
81 c++  reference 

6
Entwicklung der C-Wrapper-API für objektorientierten C ++ - Code
Ich möchte eine Reihe von C-APIs entwickeln, die unsere vorhandenen C ++ - APIs umschließen, um auf unsere Kernlogik zuzugreifen (geschrieben in objektorientiertem C ++). Dies wird im Wesentlichen eine Kleber-API sein, mit der unsere C ++ - Logik von anderen Sprachen verwendet werden kann. Welche guten Tutorials, Bücher oder …
81 c++  c  wrapper 

5
Wie sende ich eine benutzerdefinierte Nachricht in Google C ++ Testing Framework?
Ich verwende Google C ++ Testing Framework zum Unit-Testen meines Codes. Ich verwende Eclipse CDT mit C ++ Unit-Testmodul für die Ausgabeanalyse. Zuvor habe ich CppUnit verwendet. Es hat die Makrofamilie CPPUNIT * _MESSAGE , die folgendermaßen aufgerufen werden kann: CPPUNIT_ASSERT_EQUAL_MESSAGE("message",EXPECTED_VALUE,ACTUAL_VALUE) Und ermöglicht das Senden von benutzerdefinierten Nachrichten zum Testen …
81 c++  googletest 


6
Duplizieren Sie Code mit c ++ 11
Ich arbeite derzeit an einem Projekt und habe das folgende Problem. Ich habe eine C ++ - Methode, mit der ich auf zwei verschiedene Arten arbeiten möchte: void MyFunction() { foo(); bar(); foobar(); } void MyFunctionWithABonus() { foo(); bar(); doBonusStuff(); foobar(); } Und ich möchte meinen Code nicht duplizieren, da …
80 c++  c++11  templates 



3
Was bedeutet P :: ************ in der Datei Boost assert.hpp?
In boost / mpl / assert.hpp habe ich so etwas gesehen: template<class Pred> struct eval_assert { typedef typename extract_assert_pred<Pred>::type P; typedef typename P::type p_type; typedef typename ::boost::mpl::if_c<p_type::value, AUX778076_ASSERT_ARG(assert<false>), failed ************ P::************ >::type type; }; Wenn der erste ************als Zeiger der fehlgeschlagenen Struktur behandelt werden kann, P::************ergibt das für mich wirklich …
80 c++  pointers  boost 

4
C ++ - Array-Initialisierung
ist diese Form der Initialisierung eines Arrays auf alle Nullen char myarray[ARRAY_SIZE] = {0} von allen Compilern unterstützt? , Wenn ja, gibt es eine ähnliche Syntax wie bei anderen Typen? zum Beispiel bool myBoolArray[ARRAY_SIZE] = {false}
80 c++  syntax 

3
Inkrementieren von 'maskierten' Bitsets
Ich bin gerade dabei, einen Baum-Enumerator zu schreiben, bei dem ich auf folgendes Problem gestoßen bin: Ich betrachte maskierte Bitsets, dh Bitsets, bei denen die gesetzten Bits eine Teilmenge einer Maske sind, dh 0000101mit Maske 1010101. Was ich erreichen möchte, ist das Inkrementieren des Bitsets, jedoch nur in Bezug auf …


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.