eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingC is number one (znowu) › Re: C is number one (znowu)
  • X-Received: by 2002:a37:5a45:: with SMTP id o66mr969262qkb.137.1594666152822; Mon, 13
    Jul 2020 11:49:12 -0700 (PDT)
    X-Received: by 2002:a37:5a45:: with SMTP id o66mr969262qkb.137.1594666152822; Mon, 13
    Jul 2020 11:49:12 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.
    stu.neva.ru!news-out.google.com!nntp.google.com!postnews.google.com!google-grou
    ps.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Mon, 13 Jul 2020 11:49:12 -0700 (PDT)
    In-Reply-To: <3...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: google-groups.googlegroups.com; posting-host=213.108.152.51;
    posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
    NNTP-Posting-Host: 213.108.152.51
    References: <a...@g...com>
    <r9o6rb$lp5$1@news.icm.edu.pl>
    <1...@g...com>
    <rassv4$9ti$1@news.icm.edu.pl>
    <2...@g...com>
    <rdhlvh$udp$1@news.icm.edu.pl>
    <a...@g...com>
    <rdl4s1$abp$1@news.icm.edu.pl>
    <e...@g...com>
    <rduo26$ofp$1@news.icm.edu.pl>
    <c...@g...com>
    <re1unm$8vq$1@dont-email.me>
    <b...@g...com>
    <rec454$cbq$1@news.icm.edu.pl>
    <6...@g...com>
    <c...@g...com>
    <7...@g...com>
    <d...@g...com>
    <3...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <e...@g...com>
    Subject: Re: C is number one (znowu)
    From: Maciej Sobczak <s...@g...com>
    Injection-Date: Mon, 13 Jul 2020 18:49:13 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:215052
    [ ukryj nagłówki ]

    > > Wytłumacz mi teraz, dlaczego "smart pointer" to nie jest "pointer".
    >
    > Jeśli chcesz dyskutować o tym, czy rower stacjonarny to też rower,
    [...]

    To poszukam na grupie rowerowej.
    Natomiast tutaj pytałem o to, dlaczego smart pointer nie jest pointerem, bo zdaje się
    tak właśnie to określiłeś.

    > "Unlike C, C++, or Pascal, there is no explicit representation of pointers in Java.
    [...]

    A coś o smart pointerach tam jest?

    > "[...] reference is often erroneously confused with a pointer or address, and is
    said to "point to" the data. However, a reference may also be implemented in other
    ways [...]"

    Świetnie. Ale na stronie o pointerach jest, że to taki obiekt, który *zawiera* (ang.
    "stores") adres pamięci. Więc smart pointer, który *zawiera* adres, to według tej
    definicji pointer.
    Zgadzamy się?

    I czy różnica pomiędzy wskażnikiem a referencją sprowadza się do tego, że "may be
    implemented in other ways"? To słabo. Bo te pojęcia to są koncepty i nie powinno się
    ich uzależniać od tego, jak są zaimplementowane. Bo jeden język może mieć różne
    implementacje (łącznie z tak odległymi, jak interpreter vs. kompilator) i trochę
    głupio by było twierdzić, że w jednej Javie jest referencja a w drugiej Javie jest
    wskaźnik, podczas gdy dokładnie ten sam kod źródłowy robi to samo w obu Javach.

    Więc jak to jest? Kiedy jest wskaźnik a kiedy referencja?

    Aby wyjść do przodu z tą dyskusją, chętnie podrzucę, że to co w C++ jest nazywane
    referencją, bardziej zasługuje na nazwę alias. Wtedy oczyścimy pole do bardziej
    wyrafinowanego rozróżnienia pomiędzy wskaźnikiem a referencją. W szczególności
    zarówno jedno jak i drugie można skopiować, zachować lub przekazać. Ale czym się
    różnią?

    --
    Maciej Sobczak * http://www.inspirel.com

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: