Pointer - eigene Liste



  • Hallo Gemeinde,

    ich bin schreibe mir gerade eine verkettete List, die funktioniert soweit auch, aber möchte ich das etwas flexibler sein, in dem ich auch pointer abspeichern kann, jedoch habe ich ich mich da glaube ich etwas verrannt.

    Hier mal ein kleiner Auszug:

    template<class T>
    class CMyList
    {
    private:
    	struct Node
    	{
    		Node *next;
    		Node *previous;
    		T value;
    	};
    
    	Node *_begin;
    	Node *_end;
    	int _iSize;
    public:
    	void append(T value);
    }
    

    somit geht folgendes problemlos:

    CMyList<int> myList;
    

    Was ich aber gerne noch hinzufügen würde ist:

    CMyList<int*> myList;
    

    Um das zu realisieren, müsste ich ja die "liste" komplett neu schreiben, so das 2 habe 1x für value und einmal für pointer.

    Wie kann ich das aber sinnvoll in eine Liste integrieren..., ohne das ich großartig mit Copy&Paste rumeiern muss. Vector kann das ja auch, jedoch werde ich aus dem Code nicht so richtig schlau, kann mir da jemand einen Tipp geben?

    so long
    jd



  • Warum solltest Du überhaupt irgendwas ändern müssen?



  • Ups, das funktioniert ja... dann habe ich wohl beim testen was falsch gemacht, somit erübrigt sich meine Frage, danke.



  • Wenn du ne list so: CMyList<int> myList; erzeugst, musst du dir vorstellen das alles T in deiner Liutsklasse als "int" interpretiert werden. Schreibst du CMyList<int*> myList; sind es halt dan "int*" du musst nichts ändern..



  • Vielen Danke, jetzt habe ich es gerafft.


Anmelden zum Antworten