Tag: one-definition-rule

Alles rund um die C++ – One Definition Rule (ODR), d.h. in der Regel der C++ – standard-ein Verbot mehrere Definitionen der meisten anderen Personen. Die ODR rund Mandate, die die meisten anderen Entitäten (Objekte, Funktionen, templates, etc.) muss eine eindeutige (nicht dupliziert) definition in der gleichen übersetzungseinheit oder über das gesamte Programm, während mehrere Erklärungen sind immer noch möglich.

C die gleichen definierten globalen Variablen in verschiedenen Dateien

Anzahl der Antworten 6 Antworten
Lese ich dieser code von hier(in Chinesisch). Es ist ein Stück code, der zum testen von globalen Variablen in C. Die variable a wurde in der Datei definiert t.h die schon zweimal dabei. In der Datei foo.c

Warum ist die mehrfache definition einer const Globale Variablen dürfen in C++ und nicht in C?

Anzahl der Antworten 6 Antworten
Mehrere definition einer globalen variable ist nicht erlaubt, die in C oder C++ wegen der One Definition Rule. Aber in C++ ein const Globale variable kann definiert werden, in mehrere compilation units mit keine Fehler. Dies ist

Statische variable in einer Header-Datei

Anzahl der Antworten 3 Antworten
Statische variable ' file scope. Sagen, ich habe zwei folgenden Dateien bestehen: Datei1.h file1.cpp Datei2.h file2.cpp Habe ich static deklarierte variable sagen static int Var1 sowohl in der header-Dateien. Beide file1.h und file2.h sind enthalten in main.cpp

Was bedeutet es, "ODR-verwenden Sie" etwas?

Anzahl der Antworten 2 Antworten
Dieser kam gerade im Kontext der eine andere Frage. Scheinbar member-Funktionen in Klassen-templates sind nur instanziiert, wenn Sie ODR-verwendet. Könnte jemand erklären, was genau das bedeutet. Die wikipedia-Artikel über One Definition Rule (ODR) nicht erwähnen "ODR-Nutzung". Jedoch

Wann sollte ich schreiben das Schlüsselwort 'inline' für eine Funktion/Methode?

Anzahl der Antworten 12 Antworten
Wann sollte ich schreiben das Schlüsselwort inline für eine Funktion/Methode in C++? Nachdem Sie einige Antworten, einige Fragen: Wann sollte ich nicht schreiben Sie das Schlüsselwort 'inline' für eine Funktion/Methode in C++? Wann wird der compiler nicht