Templates zugriff auf Priority-Queue (Verleichskriterium)



  • Hallo, ich verstehe etwas nicht: Und zwar hat die Klasse priority_queue
    "3" Templates, wobei die letzten zwei eine Default-Vorgabe haben. Bei der Deklaration von pq werden aber nur zwei Angaben zu den Templates gemacht. Der erste ist klar. Jedoch der zweite solltedoch eigentlich für
    class C eingesetzt werden und nicht wie es hier nach meinem Buch der Fall ist für class Cmp. Und meines "Wissens" nach müßte dann Cmp den Default-"Wert" erhalten, also less<typename C::value_type>.
    Nur ist dem wohl nicht so. Ich würde mich freuen, wenn mir das jemand mal erklären könnte.

    template <class T,class C=<vector<T>,class Cmp=less<typename C::value_type>>
    class std::priority_queue{...};
    
    priority_queue<string,GrossKleinEgal> pq; /*nach dem Lehrbuch ist GrossKleinEgal das übergebene Vergleichskriterium.*/
    

Anmelden zum Antworten