eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingC is number one (znowu) › Re: C is number one (znowu)
  • X-Received: by 2002:ac8:2b98:: with SMTP id m24mr6268676qtm.7.1594753200295; Tue, 14
    Jul 2020 12:00:00 -0700 (PDT)
    X-Received: by 2002:ac8:2b98:: with SMTP id m24mr6268676qtm.7.1594753200295; Tue, 14
    Jul 2020 12:00:00 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
    e.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!n
    ews-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegrou
    ps.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Tue, 14 Jul 2020 11:59:59 -0700 (PDT)
    In-Reply-To: <e...@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>
    <e...@g...com>
    <e...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <0...@g...com>
    Subject: Re: C is number one (znowu)
    From: Maciej Sobczak <s...@g...com>
    Injection-Date: Tue, 14 Jul 2020 19:00:00 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:215055
    [ ukryj nagłówki ]

    > Nie. Smart pointer to taki obiekt, który *zawiera* *wskaźnik*.

    Tego nie możemy zakładać, bo to szczegół implementacyjny. Smart pointer może sobie
    zawierać adres w jakiejś innej postaci, niż wskaźnik. Nie musi wskaźnika zawierać.
    To, co chciałem zaznaczyć odnosząc się do Twojej definicji, to fakt, że smart pointer
    też jest pointerem. Bo spełnia jego funkcjonalną definicję.

    Dlatego też analogia rowerowa była chybiona.

    > Nie. Referencja jest ogólniejszym pojęciem.

    Słusznie.

    > Wskaźnik jest bardzo konkretnym pojęciem technicznym, silnie związanym z
    liniowością adresów na architekturze von Neumanna. Można powiedzieć, że pamięć
    adresowana liniowo stanowi ramę pojęciową dla wskaźnika.

    Nie szedłbym tak daleko. W ogóle nie rozumiem, po co mieszasz tutaj architekturę von
    Naumanna. Na harwardzkiej nie ma wskaźników? Są.
    Liniowa pamięć też nie ma tutaj związku. W nieliniowej nie ma wskaźników? Są.
    Cytujesz losowe pojęcia.

    Rozróżnienie wskaźników od referencji jako ich bardziej niskopoziomowe wcielenie jest
    użyteczne (np. referencje w Javie mogą odnosić się do zdalnych obiektów, nie tylko do
    lokalnych i to sprawia, że referencje w Javie są konstruktem wyższego poziomu, niż
    wskaźniki w C). Ale w tych abstrakcyjnych definicjach nie widzę sensu odmawiania
    smart pointerom ich pointerowej "duszy" (nie żebym coś tam nawiązywał :-D ).

    Inaczej, krócej: jeżeli podzielimy te wszystkie obiekty na pointery i referencje, to
    smart pointery są w tej pierwszej grupie.

    --
    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: