eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingCzym jest programowanie?Re: Czym jest programowanie?
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: Andrzej Jarzabek <a...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: Czym jest programowanie?
    Date: Fri, 27 Jul 2012 23:57:08 +0100
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 63
    Message-ID: <juv6c8$j6t$1@inews.gazeta.pl>
    References: <4fce791d$0$26684$65785112@news.neostrada.pl>
    <4fcf1480$0$26697$65785112@news.neostrada.pl>
    <jqn67e$339$1@inews.gazeta.pl>
    <4fcf21e7$0$1308$65785112@news.neostrada.pl>
    <jqn7ut$eur$1@inews.gazeta.pl> <jqnla2$9un$1@inews.gazeta.pl>
    <y2ia1qc4thf8$.hnbv89yzd18u$.dlg@40tude.net>
    <jqnnmi$mcn$1@inews.gazeta.pl> <jqsj08$tgo$1@mx1.internetia.pl>
    <jqurbn$34$1@inews.gazeta.pl>
    <7...@g...com>
    <g...@s...invalid> <jr51r9$9oi$1@inews.gazeta.pl>
    <f...@v...googlegroups.com>
    <jr57bu$9g7$1@inews.gazeta.pl>
    <e...@g...com>
    <f...@g...com>
    <jr6ur2$lo2$1@inews.gazeta.pl>
    <f...@6...googlegroups.com>
    <jusa3h$94j$1@inews.gazeta.pl> <juscqu$bmr$1@inews.gazeta.pl>
    <jutigr$a1v$1@inews.gazeta.pl>
    <6...@g...com>
    <jutpu2$oib$1@inews.gazeta.pl>
    NNTP-Posting-Host: 5ac51731.bb.sky.com
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: inews.gazeta.pl 1343429833 19677 90.197.23.49 (27 Jul 2012 22:57:13 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Fri, 27 Jul 2012 22:57:13 +0000 (UTC)
    X-User: septi
    In-Reply-To: <jutpu2$oib$1@inews.gazeta.pl>
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20120713
    Thunderbird/14.0
    Xref: news-archive.icm.edu.pl pl.comp.programming:198933
    [ ukryj nagłówki ]

    On 27/07/2012 11:18, AK wrote:
    > Użytkownik "Andrzej Jarzabek" <a...@g...com> napisał:
    >
    >> Nie wiem, co rozumiesz przez typy proste, ale parametrów przez
    >> referencję (aka 'przez zmienną') nie można przekazać niezależnie od typu.
    >> Możnqa przekazać parametr typu 'referencja na obiekt', ale przekazać
    >> można ją tylko przez wartość. Zatem nie da się zrobić:
    >>
    >> Object a=cośtam();
    >> [...]
    >> f(a);
    >> // funkcja f zmieniła wartość a, tak że wskazuje na inny obiekt niż
    >> // przed wywołaniem
    >
    > 1. Naucz sie opisywac temat _poprawnie_ bo przekazywanie parametrow
    > przez referencje to _nie jest to__ co opisujesz.

    W C++ tak się to nazywa. Proszę o jakiegoś linka do opisu co to znaczy
    przekazywanie przez referencję.

    > 2. _Bardzo dobrze_, ze w Javie (w Pythonie zreszta tez) nie da sie tego
    > zrobic.
    > Juz sama zmiana stanu obiektu przekazywanego przez do funkcji przez
    > (ref) referencje rodzi problemy i skutki uboczne,

    Kolejna rzecz, której mi brakuje w Javie - const.

    > a co dopiero gdyby sie sam obiekt zmienil brrr.... :) Do tego sluzy

    Niedawno ktoś opisywał, że ma problemy z za długimi metodami. Części
    tych metod możnaby wyobrębnić w osobne metody, ale problemem jest użycie
    w tych częściach zmiennych lokalnych. Brak możliwości przekazania
    zmiennych (typów referencyjnych czy jakichkolwiek innych) przez
    referencję powoduje utrudnienie refektoryzacji typu 'extract method'.

    > return i rzeczy typu 'tuple' (lub
    > udajace tuple).

    Nie ma zdaje się takiego czegoś w Javie.

    > 3. Uda Ci sie w C++ osiagnac zamierzony efekt uzywajac tylko referencji
    > (&) ?

    Normalnie. Zacznijmy od tego, że najbliższym odpowiednikiem typu
    referencyjnego z Javy jest w C++ wskaźnik, więc odpowiednikiem:

    JakisTyp zmienna = new JakisTyp();

    będzie w C++

    JakisTyp* zmienna = new JakisTyp();

    (może być shared_ptr albo unique_ptr)

    więc jeśli funkcja f ma sygnaturę
    f(JakisTyp*&);

    to mam:
    JakisTyp* a=cośtam();
    [...]
    f(a);
    // a może wskazywać na coś innego niż przed wywołaniem f

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: