RTTI vs sablon magic
Szeretné dolgozni tárgyakat egy mutatót az alap osztályt, és szeretné végre IObject ISA sablonok segítségével. Ez lehetetlen, mivel a mintázat példányosıtási fordul fordításkor, és az inicializálás mutatókat IObject történik futásidőben. IObject továbbítani a mutató érvként, hogy a kivitelező NamedObject, így obj típus ismert csak futási időben, és nem nélkülözheti RTTI.
Kezdjük azzal, hogy azon gondolkodtam:
És hogyan lehet NamedObject nem csomagolja és örököse, és rajta keresztül, hogy megszabaduljon a (IAA) wrapper a RTTI, és csak dynamic_cast. A hátránya okozza kupac osztályok NamedObject, és ugyanakkor ebben az esetben nehéz könnyen ellenőrizheti, hogy az osztály néhány ilyen NamedObject, hogy a csomagolást vissza. Általában én csak szeretnék találni egy elegáns megoldás, van Budán.
Persze, megértem, hogy minden esetben szükség van, hogy használja a dynamic_cast, a „nélkül RTTI» Mármint egyáltalán nem „nélkül RTTI», és anélkül, hogy a felépítmények felette, vagy legalább olyan egyszerű, kiegészítői, vagy a legszebb. Általában ez egy tisztán kutatási és esztétikai érdeklődés, a teljesítmény, a jelenlegi rendszer elégedve.
Vegyük azt az elképzelést, említi a poszt fenti linkre, és példát is:
Működtetni egy ilyen kaszt kell örökölni bizonyos interfész, de ne felejtsük el, hogy dynamic_cast sem mentes munka van szükség, mert a díj virtualitás, azaz Az osztályba legalább valami, hogy egy virtuális, de a destruktor, de a típus polimorf.