In einer Header -Datei habe ich einen Strukturdatensatz definiert. Ich würde es gerne für eine mögliche Sortierung verwenden, also möchte ich den weniger Bediener überladen. Hier sind drei Möglichkeiten, die ich in verschiedenen Code bemerkt habe. Ich habe grob bemerkt, dass:
Wenn ich Datensatz in einen std :: set einfügen möchte, map , priority_queue ,… Container, die Version 2 funktioniert (wahrscheinlich auch Version 3). Datensatz> v und dann aufrufen make_heap (v.ebegin (), v.end ()) usw. Dann funktioniert nur Version 1.
In einer Header -Datei habe ich einen Strukturdatensatz definiert. Ich würde es gerne für eine mögliche Sortierung verwenden, also möchte ich den weniger Bediener überladen. Hier sind drei Möglichkeiten, die ich in verschiedenen Code bemerkt habe. Ich habe grob bemerkt, dass: [list] [*] Wenn ich Datensatz in einen std :: set einfügen möchte, map , priority_queue ,… Container, die Version 2 funktioniert (wahrscheinlich auch Version 3). Datensatz> v und dann aufrufen make_heap (v.ebegin (), v.end ()) usw. Dann funktioniert nur Version 1. [/list]
[code]struct Record { char c; int num;
//version 1 bool operator num>rhs.num; }
//version 2 friend bool operator num>rhs->num; } }; < /code> In derselben Header -Datei zum Beispiel: < /p> //version 3 inline bool operator num>rhs->num; } [/code] Was sind die Unterschiede zwischen diesen drei Methoden und was sind die richtigen Orte für jede Version?
Im Folgenden finden Sie zwei Methoden zum Erstellen eines Links, der ausschließlich dem Zweck dient, JavaScript-Code auszuführen. Was ist besser in Bezug auf Funktionalität,...
Manchmal habe ich eine Funktion, die einen Parameter nimmt, und ich muss in der Lage sein, diesen Parameter mehrmals durchzuschlafen. Zum Beispiel:
def loop_twice(param: MultiIterable):
for thing...