eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingszablony metod - deklaracja i definicjaRe: szablony metod - deklaracja i definicja
  • Data: 2009-08-27 15:06:10
    Temat: Re: szablony metod - deklaracja i definicja
    Od: "Megas" <k...@o...eu> szukaj wiadomości tego autora
    [ pokaż wszystkie 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


Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: