one-definition-rule

Alles im Zusammenhang mit C ++ Eine Definitionsregel (ODR), d. h. eine Regel des C ++ - Standards, die mehrere Definitionen der meisten Sprachobjekte verbietet. Das ODR schreibt grob vor, dass die meisten Sprachobjekte (Objekte, Funktionen, Vorlagen usw.) eine eindeutige (nicht duplizierte) Definition in der gleichen Übersetzungseinheit oder über das gesamte Programm haben müssen, während mehrere Deklarationen noch möglich sind.
0
Antworten

Sollte mir ein Verstoß gegen eine Definitionsregel in einer von Asan gemeldeten Rust-Programmdatei interessieren?

Ich habe eine Rust-Programmdatei, die rein innerhalb des Rust-Ökosystems erstellt wurde; kein externer C-Code oder verknüpfte Bibliotheken, egal was der Compiler hineinzieht. Nach dem Kompilieren mit ASAN unter Linux meldet ASAN eine OD-Verle...
08.02.2018, 07:12
3
Antworten

Wo sollte die Definition einer expliziten Spezialisierung einer Klassenvorlage in C ++ platziert werden?

Laut [temp.spec] / 5 :    Für eine gegebene Vorlage und einen gegebenen Satz von Template-Argumenten,       ...    Eine explizite Spezialisierung soll höchstens einmal in einem Programm definiert werden (nach [basic .def.odr] ) und...
29.11.2017, 02:56
3
Antworten

Statische Variable in einer Header-Datei

Statische Variable hat Dateiumfang. Sagen wir, ich habe zwei folgende Dateien: file1.h Datei1.cpp file2.h file2.cpp Ich habe in beiden Header-Dateien die statische Variable say static int Var1 deklariert. Sowohl file1.h als a...
18.02.2011, 11:06