Unterschied CTypedPtrArray und CArray



  • Was habe ich für ein Vorteil wenn anstatt eines CArray ein CTypedPtrArray verwende?

    Beispiel:

    CArray<CMyClass*,CMyClass*> m_aArray

    zu

    CTypedPtrArray<CObArray, CMyClass*> m_aArray;


  • Mod

    CArray ist ein volles eigenes Template, dadurch wird für jeden Typ alle entsprechend benötigen Funktionen im Code erzeugt.
    CTypedPtrArray basiert auf einem existierenden Codeset.

    CTypedPtrArray führt intern nur ein paar Casts aus, die sind aber eigentlich nur für den Compiler und "kosten keinen Code". Die Codebase wird also nicht größer mit einer neuen Templatenutzung.

    Verwendest Du 10 CArray<> und 10 mal CTypedPtrArray<> basierend auf dem gleichen Typ, dann führt letzteres am Ende zu einem kleineren Programm.


Anmelden zum Antworten