eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaNajgorszy język programowaniaRe: Najgorszy język programowania
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!uni-berlin.de!individual.n
    et!not-for-mail
    From: ??Jacek Marcin Jaworski?? <j...@e...gda.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Najgorszy język programowania
    Date: Mon, 8 Dec 2025 11:55:13 +0100
    Organization: energokod.gda.pl
    Lines: 51
    Message-ID: <m...@m...individual.net>
    References: <a...@n...chmurka.net>
    <10h41am$3fnev$1@dont-email.me> <m...@m...individual.net>
    <10h481l$3hhm3$1@dont-email.me> <m...@m...individual.net>
    <10h4a6p$3hhm3$2@dont-email.me> <m...@m...individual.net>
    <10h4brs$3hhm3$4@dont-email.me> <m...@m...individual.net>
    <10h5tvp$3vke0$1@dont-email.me>
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: individual.net H9hbdDESDZqH7y7FGBRxMAZ2vSkBXTgbMncVhrF29yFHuVl0Co
    Cancel-Lock: sha1:93UqiWqdySIRtgNO+GqHdwn4+f4=
    sha256:Qj1JU6AX9xUEbxnr9O5DBcTsa+BZbpa+hbs2zLZP+bo=
    User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
    Thunderbird/102.8.0
    Content-Language: pl-PL, en-GB
    In-Reply-To: <10h5tvp$3vke0$1@dont-email.me>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:800985
    [ ukryj nagłówki ]

    W dniu 8.12.2025 o 08:16, heby pisze:
    > On 08/12/2025 01:44, ??Jacek Marcin Jaworski?? wrote:
    >> Właśnie o przykład do ipp pytam, a nie o "explicit instantiation" - bo
    >> mówię, że to drugie łapię.
    > ipp to cpp, ale napisany z myślą, aby było mozliwe #include "foo.ipp" w
    > innym pliku ipp lub cpp.
    >
    > W przypadku templates zawiera definicje metod. Użwa się tak:
    >
    > foo.cpp:
    > #include "bar.ipp"
    > class Foo {[...]};
    > [...]
    > Bar<Foo> bar;
    >
    > spam.cpp:
    > #include "bar.ipp"
    > class Spam {[..]};
    > [...]
    > Bar<Spam> bar;
    >
    > W ten sposób foo.cpp i bar cpp dostają własne specjalizacje, nic o sobie
    > nie wiedzą, a nagłówek bar.hpp nie zawiera definicji.

    Już chyba kumam ideę! W pliku foo.h++:
    #include "Bar.h++" // Z deklaracją kl. szablonowej
    class Foo {...}; // Deklaracja kl. Foo
    extern Bar<Foo>; // Bar<Foo> jest konkretyzowany "gdzie indziej"

    W pliku foo.c++:
    #include "Foo.h++"
    #include "Bar.i++" // Def. f. kl. szablonowej Bar
    Bar<Foo>; // Tu jest to "gdzie indziej"
    // Tu def. f. kl. Foo

    W pliku Bar.i++:
    #include "Bar.h++" // Z deklaracją kl. szablonowej
    // Tu def. f. szablonowych kl. Bar

    W ten sposób nie zachodzi konieczność konkretyzacji Bar<Foo> w każdej
    jednostce translacji, która go używa (czyli w plikach *.o tworzonych z
    *.c++).
    Czy coś takiego miałeś na myśli?

    --
    Jacek Marcin Jaworski, Pruszcz Gd., woj. Pomorskie, Polska??, EU??;
    tel.: +48-609-170-742, najlepiej w godz.: 5:15-5:55 lub 17:15-17:55;
    <j...@e...gda.pl>, gpg: 4A541AA7A6E872318B85D7F6A651CC39244B0BFA;
    Domowa s. WWW: <https://energokod.gda.pl>;
    Mailowa Samoobrona: <https://emailselfdefense.fsf.org/pl>.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

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: