Article View: pl.comp.lang.c
Article #309030Re: Jak sprawdzić jakiej klasy jest obiekt (wskaźnik) ?
From: bartekltg
Date: Sun, 23 Apr 2017 12:03
Date: Sun, 23 Apr 2017 12:03
31 lines
2482 bytes
2482 bytes
On 23.04.2017 11:53, Przemek Biernat wrote: > Może to nie jest taki zły pomysł tym bardziej że typeid zwraca > referencję do struktury, ale żeby sprawdzić czy obiekt jest danego > typu trzeba porównać dwa stringi co jest mniej wydajne od porównania > dwóch intów z rozwiązania przy enum. Typeid ma też id tylko teraz > skąd mam wiedzieć jakie id ma klasa którą chce sprawdzić kiedy klas > jest kilkadziesiąt. Nie, nie stringi! type_index od wyniku typeid. Wygenerować sobie słownik tepeid-> to, co mnie interesuje dla tego zbioru? A choćby tak: http://en.cppreference.com/w/cpp/types/type_index Tylko mapa nie musi być do stringa, a do tego, co jest naprawdę potrzebne. Nawet wskaźnik do spacjalizowanej funkcji. Niby upierdliwe, ale pilnowanie, by enum i te kilkadziesiat klas działało dobrze, też wymaga pewnej staranności, zwłąszcza, jak drzewko dziedzizenia nie jest dwupietrowe. Z drugiej strony, którejkolweik metody bym nie użył, jeśli miałbym w kodzie miejsca, gdzie gostaje wskaźnik do klasy bazowej i muszę wiedzieć, na którą dokładnie klasę włąśnie pokazuję, uznałbym, zę jednak mogłęm to zaprojektować lepiej:) pzdr bartekltg
Technical Details
Message-ID:
<odi576$9l6$1@node2.news.atman.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailReferences:
<o79kim$psa$1@node1.news.atman.pl> <o79kim$psa$1@node1.news.atman.pl> <almarsoft.6916192281123605763@news.v.pl> <b514bb54-fc83-472e-8fa9-d16bf8d878d0@googlegroups.com> <odf6rg$53e$1@node1.news.atman.pl> <6a23e119-a538-4d44-a3d6-9155442972e7@googlegroups.com> <odg8fv$e46$1@node2.news.atman.pl> <d4556e86-8963-4917-9ce4-0827261ab89c@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: bartekltg <bartekltg@gmail.com> Newsgroups: pl.comp.lang.c Subject: Re: Jak sprawdzić jakiej klasy jest obiekt (wskaźnik) ? Date: Sun, 23 Apr 2017 14:03:50 +0200 Organization: ATMAN - ATM S.A. Lines: 37 Message-ID: <odi576$9l6$1@node2.news.atman.pl> References: <o79kim$psa$1@node1.news.atman.pl> <o79kim$psa$1@node1.news.atman.pl> <almarsoft.6916192281123605763@news.v.pl> <b514bb54-fc83-472e-8fa9-d16bf8d878d0@googlegroups.com> <odf6rg$53e$1@node1.news.atman.pl> <6a23e119-a538-4d44-a3d6-9155442972e7@googlegroups.com> <odg8fv$e46$1@node2.news.atman.pl> <d4556e86-8963-4917-9ce4-0827261ab89c@googlegroups.com> NNTP-Posting-Host: 89-70-119-159.dynamic.chello.pl Mime-Version: 1.0 X-Trace: node2.news.atman.pl 1492949030 9894 89.70.119.159 (23 Apr 2017 12:03:50 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Sun, 23 Apr 2017 12:03:50 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 In-Reply-To: <d4556e86-8963-4917-9ce4-0827261ab89c@googlegroups.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit