-
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
Następne wpisy z tego wątku
- 13.07.20 22:02 g...@g...com
- 14.07.20 12:01 g...@g...com
- 14.07.20 20:59 Maciej Sobczak
- 05.10.20 12:36 Sushi Master
Najnowsze wątki z tej grupy
- 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?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-09 Vitruvian Man - parts 7-11a
- 2024-05-09 Vitruvian Man - parts 7-11a
- 2024-05-09 Chess
- 2024-05-09 Vitruvian Man - parts 7-11a
- 2024-05-09 szafka sieciowa
- 2024-05-09 Białystok => Senior Software Engineer PHP (BillPro) Contractor <=
- 2024-05-09 policja pomaga
- 2024-05-09 Łódź => Senior DevOps Engineer <=
- 2024-05-09 Wrocław => Java Developer <=
- 2024-05-09 MSI B450 PRO VDH MAX - HDMI+DVI = 2 ekrany?
- 2024-05-09 Raspberry Pi 5 + dyski SATA
- 2024-05-09 Warszawa => Spedytor międzynarodowy <=
- 2024-05-09 Berlin => IT Systems Administrator and Customer Support Engineer <=
- 2024-05-09 lutownica na węgiel
- 2024-05-09 Dla Kfiata i Olina tzw. prawo międzynarodowe