schönerer Weg als reinterpret_cast



  • Hallo Leute,
    ich habe folgendes Problem:
    In einer Klasse wird ein Objekt, das von der Klasse BasicObject erbt, dynamisch angelegt und als BasicObject gespeichert. Die Größe des Objekts wird gespeichert,
    der Basistyp nicht.
    Dieses Objekt muss nun kopiert werden. Gibt es schönere Wege als diesen?:

    basic_object= reinterpret_cast<BasicObject*>(new char[toCopy.object_size]);
        std::copy(toCopy.basic_object,toCopy.basic_object+toCopy.object_size,basic_object);
    


  • Du kannst ein nicht POD Type nicht einfach byte für byte kopieren - das ist UB.
    Schau dir das Prototype Pattern an.



  • EDIT: Prototype wars, mal wieder zu langsam 😉


Anmelden zum Antworten