Article View: pl.comp.programming
Article #216993Re: C is number one (znowu)
From: Maciej Sobczak
Date: Mon, 13 Jul 2020 18:49
Date: Mon, 13 Jul 2020 18:49
26 lines
3861 bytes
3861 bytes
> > 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
Technical Details
Message-ID:
<ecf47492-7c3e-4c78-84f3-9685ed338681o@googlegroups.com>Path:
mbox-mo1.pugleaf.net!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-groups.googlegroups.com!not-for-mailReferences:
<a81005fe-ad6c-4221-9d4b-5e5272c400a8@googlegroups.com> <r9o6rb$lp5$1@news.icm.edu.pl> <1dcffd9f-ad27-450b-99f4-dc2703e19a6f@googlegroups.com> <rassv4$9ti$1@news.icm.edu.pl> <2ceb517b-0aff-43e8-89d0-f6020b958537@googlegroups.com> <rdhlvh$udp$1@news.icm.edu.pl> <a0add84b-67a0-43b4-8726-76e5d9e2b7b7o@googlegroups.com> <rdl4s1$abp$1@news.icm.edu.pl> <ea0a1c54-2720-41fc-b2a1-a5e75151187eo@googlegroups.com> <rduo26$ofp$1@news.icm.edu.pl> <c05273ac-9d1c-4f0b-b66d-8f078d70a6ddo@googlegroups.com> <re1unm$8vq$1@dont-email.me> <ba5d1b36-f368-4f7b-8a29-8d2de299f3b3o@googlegroups.com> <rec454$cbq$1@news.icm.edu.pl> <6faa1120-6d95-4171-b43f-c8a86c135be6o@googlegroups.com> <c06d7176-4b51-406d-9b25-137730f5af47o@googlegroups.com> <7be60910-7941-4e71-9438-3ba0fc2ccff7o@googlegroups.com> <dfbe51a1-5416-48c1-850c-8695a7ec37e4o@googlegroups.com> <36da3f68-dee5-412f-a1e1-f5c76c338884o@googlegroups.com>Show Full Headers
Complete Article Headers
X-Received: by 2002:ac8:3fac:: with SMTP id d41mr777809qtk.98.1594666153070; Mon, 13 Jul 2020 11:49:13 -0700 (PDT) X-Received: by 2002:a37:5a45:: with SMTP id o66mr969262qkb.137.1594666152822; Mon, 13 Jul 2020 11:49:12 -0700 (PDT) Path: mbox-mo1.pugleaf.net!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-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.programming Date: Mon, 13 Jul 2020 11:49:12 -0700 (PDT) In-Reply-To: <36da3f68-dee5-412f-a1e1-f5c76c338884o@googlegroups.com> Complaints-To: groups-abuse@google.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: <a81005fe-ad6c-4221-9d4b-5e5272c400a8@googlegroups.com> <r9o6rb$lp5$1@news.icm.edu.pl> <1dcffd9f-ad27-450b-99f4-dc2703e19a6f@googlegroups.com> <rassv4$9ti$1@news.icm.edu.pl> <2ceb517b-0aff-43e8-89d0-f6020b958537@googlegroups.com> <rdhlvh$udp$1@news.icm.edu.pl> <a0add84b-67a0-43b4-8726-76e5d9e2b7b7o@googlegroups.com> <rdl4s1$abp$1@news.icm.edu.pl> <ea0a1c54-2720-41fc-b2a1-a5e75151187eo@googlegroups.com> <rduo26$ofp$1@news.icm.edu.pl> <c05273ac-9d1c-4f0b-b66d-8f078d70a6ddo@googlegroups.com> <re1unm$8vq$1@dont-email.me> <ba5d1b36-f368-4f7b-8a29-8d2de299f3b3o@googlegroups.com> <rec454$cbq$1@news.icm.edu.pl> <6faa1120-6d95-4171-b43f-c8a86c135be6o@googlegroups.com> <c06d7176-4b51-406d-9b25-137730f5af47o@googlegroups.com> <7be60910-7941-4e71-9438-3ba0fc2ccff7o@googlegroups.com> <dfbe51a1-5416-48c1-850c-8695a7ec37e4o@googlegroups.com> <36da3f68-dee5-412f-a1e1-f5c76c338884o@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <ecf47492-7c3e-4c78-84f3-9685ed338681o@googlegroups.com> Subject: Re: C is number one (znowu) From: Maciej Sobczak <see.my.homepage@gmail.com> Injection-Date: Mon, 13 Jul 2020 18:49:13 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit