Vorteile eindimensionales, zweidimensionales Feld?



  • Hallo,

    ich bin nach wie vor dabei, mir eine eigene Matrixklasse zu schreiben. Schon bei der Definition des Feldes hab ich ja mehrere Möglichkeiten. Mich interessiert, ob es große Unterschiede macht, wofür ich mich entscheide.

    Also denkbar wäre doch:

    template <typename T>
    class CMatrix
    {
    	T** fmatrix;	
    	int fzeilen;
    	int fspalten;
    
    };
    

    Oder auch so:

    template <typename T>
    class CMatrix
    {
    	T* fmatrix;	
    	int fzeilen;
    	int fspalten;
    
    };
    

    Oder vielleicht sogar:

    template <typename T>
    class CMatrix
    {
    	vector<T> fmatrix;	
    	int fzeilen;
    	int fspalten;
    
    };
    

    Es kommt ja nur darauf an, wie ich intern die Daten verwalte. Auf gedrängte Speicherung o.ä. wollte ich verzichten. Meine Matrizen werden wahrscheinlich nicht größer als 10x10. Was also bietet mir den höchsten Komfort beim programmieren und was die beste Laufzeit? Wie werden Matrizen eigentlich in professionellen Klassen dargestellt (z.B. MTL) ???

    Danke.


Anmelden zum Antworten