-
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not
-for-mail
From: "Megas" <k...@o...eu>
Newsgroups: pl.comp.programming
Subject: Re: szablony metod - deklaracja i definicja
Date: Thu, 27 Aug 2009 17:06:10 +0200
Organization: http://onet.pl
Lines: 45
Message-ID: <h767d3$1rh$1@news.onet.pl>
References: <h741o5$vof$1@news.onet.pl> <h7462k$4vj$1@inews.gazeta.pl>
<h75on2$kj2$1@news.onet.pl> <h75uui$85l$1@news.onet.pl>
<h7606u$5st$1@atlantis.news.neostrada.pl> <h760hs$d12$1@news.onet.pl>
<h761ib$nsj$1@nemesis.news.neostrada.pl> <h761bk$fjh$1@news.onet.pl>
<h761ch$fn3$1@news.onet.pl> <h761ur$hfu$1@news.onet.pl>
<h763r9$r70$1@nemesis.news.neostrada.pl>
NNTP-Posting-Host: krm.ericpol.pl
X-Trace: news.onet.pl 1251385571 1905 88.220.70.2 (27 Aug 2009 15:06:11 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Thu, 27 Aug 2009 15:06:11 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5843
X-RFC2646: Format=Flowed; Response
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
Xref: news-archive.icm.edu.pl pl.comp.programming:183371
[ ukryj nagłówki ]
Użytkownik "Tomasz Bywalec" <t...@p...dont.spam.me.o2.pl> napisał w
wiadomości news:h763r9$r70$1@nemesis.news.neostrada.pl...
>
> Ale osobiście wydaje mi się teraz, że niepotrzebnie brniemy
> w to rozwiązanie. Skoro chcesz aby w dll'ce znajdowało się
> tylko kilka konkretyzacji szablonu dla kilku typów, jednocześnie
> wyrzucając całą definicję szablonu z pliku nagłówkowego, to i tak
> ograniczasz użycie szablonu do właśnie tych kilku
> typów. W takim razie równie dobrze możesz, zamiast szablonu metody,
> zdefiniować kilka metod (o tej samej nazwie) dla kilku różnych typów
> argumentu.
Wiadomo, ze jesli sie nie da szablonem to bedzie trzeba isc na okolo -
myslalem, ze czegos ja nie kumam.
> Jeżeli, dla zdefiniowania tych metod, wygodnie Ci jest się
> posłużyć szablonem to możesz go trzymać, najwyżej
> pod inną nazwą, w całości w pliku .cpp, albo zostawić prywatną
> deklarację w .h, a definicję w .cpp. Dodatkowo, programista korzystający
> z tej dll'ki będzie od razu wiedział dla jakich typów zdefiniowana
> jest ta metoda (w każdym razie błąd nastąpi już na etapie kompilacji
> a nie linkowania).
Czyli, jesli dobrze rozumiem, nie da sie wykonac konkretyzacji szablonu
metody klasy widocznnej na zewnatrz, poza dll'eka? Soory, ale nie jestem
pewien czy do konca poprawnei zrozumiałem twoje intencje, bo moze Ci chodzi
o to, ze sie da tylko inaczej.
>
> Natomiast jeżeli chciałbyś jednak aby szablon działał dla różnych
> możliwych typów T to i tak definicja musi trafić do pliku nagłówkowego
> (w praktyce, na większości kompilatorów C++, nie da się tego uniknąć).
Tak, to nawet nie jest mozliwe w tym samym projekcie - to definicja musi byc
razem z deklaracja.
> Przypuszczam, że z pomocą "extern templates" (o ile są w Visual C++ ?)
> dałoby się ewentualnie skompilować konkretyzacje kilku typów i
> umieścić je w bibliotece .dll. Pytanie tylko czy naprawdę jest
> to gra warta świeczki ?
A jak to zrobic? Skoro juz tak daleko zabrnelismy to moze dalbys rade do
konca nam wytlumaczyc jak to zrobic - tak na przyszlosc...
Pozdrawiam
Marcin Olejarczyk
Najnowsze wątki z tej grupy
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
Najnowsze wątki
- 2025-03-24 Białystok => Generative AI Engineer <=
- 2025-03-24 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-03-24 Spawanie filamentem
- 2025-03-23 Rozkaz 5-2025: O Umorzeniu Postępowania Sądowego
- 2025-03-23 Rozkaz 4-2025: O Ochronie Praw Autorskich
- 2025-03-23 Rozkaz 3-2025: O Zaprzestaniu Bratobójczych Walk Na Ukrainie
- 2025-03-23 Rozkaz 2-2025: O Zaprzestaniu Zaciągania Kredytów
- 2025-03-23 Rozkaz 1-2025: O Uchwaleniu Totaliztycznych Praw i Obowiązków Człowieka
- 2025-03-23 Waga z legalizacją
- 2025-03-23 Nowy VW 208 :-)
- 2025-03-23 ile Tesla ma gwarancji?
- 2025-03-22 OT Silnik sie przegrzewa
- 2025-03-22 Przenoszenie przez wifi na nowego Androida
- 2025-03-22 Warszawa => Senior Account Manager <=
- 2025-03-22 Wrocław => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produk