🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #15752

Re: pl.comp.objects FAQ (Frequently Asked Questions and more)

#15752
From: SasQ
Date: Fri, 16 Mar 2007 21:49
52 lines
3102 bytes
Dnia Fri, 16 Mar 2007 16:39:31 +0000, Sektor van Skijlen napisał(a):

> Typ wartościowy jest typem, którego obiekt jest identyfikowany
> zawsze przez wartość. Więc jeśli portfel z tą samą ilością
> pieniędzy nie jest tym samym portfelem, to portfel nie jest
> typem wartościowym.

Hmm... ale chyba jest dobrym przykładem, że czasami chcemy go
potraktować jako typ wartościowy, a czasami jako niewartościowy:

  if (portfel1==portfel2)  //Czy mają tyle samo pieniędzy?
  if (portfel1 IS portfel2)  //Czy to ten sam portfel, czy inny?

> Nic nie zależy od żadnego kontekstu.
>
> Saldo jest stanem (cząstkowym) konta. Saldo jest wartością.
> Konto jest obiektem.

No cóż, ale C++ już taki dziwny jest, że nie ma "gołych" wartości
[a przynajmniej nic mi o tym nie wiadomo], tylko wszystko jest
trzymane w jakichś obiektach ;) W przypadku tego konta to akurat
da się sprawy rozdzielić:

   if (konto1.saldo==konto2.saldo) //porównanie wartości
   if (konto1==konto2) //porównanie tożsamości

chyba że ktoś dla wygody przeładuje sobie operator== żeby
działał jako porównanie składników saldo ;)
Ale już np. dla typu int z twojego przykładu:

>   int x = 2;
>   int y = 2;
>
> Powiedz mi teraz, czy "x jest y".

sprawa nie jest taka prosta ;)  bo tutaj porównując x i y
w taki sposób:

   if (x==y) ...

porównujesz wartości. Jeśli chodzi ci o tożsamość, to już
trzeba by zapisać to np. tak:

   if (&x == &y) ...

i wtedy już wiadomo, czy "x jest y" ;)

Nie wiem tylko, czy dobrze rozumiem to, co próbujesz
wytłumaczyć, bo już się pogubiłem w tej całej dyskusji... :/

-- 
SasQ
Technical Details
Message-ID: <pan.2007.03.16.21.49.44.873488@go2.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
References: <pl-comp-objects-faq-1-1166202604@ict.pwr.wroc.pl> <esemb6$2r3$1@kujawiak.man.lodz.pl> <1173026771.18775.7.camel@qrnik> <esfchn$t5r$1@kujawiak.man.lodz.pl> <esgboi$8i2$2@bandai.magma-net.pl> <esi2kk$skh$2@kujawiak.man.lodz.pl> <esi6uk$4mt$1@bandai.magma-net.pl> <esmu4p$ii1$2@kujawiak.man.lodz.pl> <esn1nl$7q7$1@bandai.magma-net.pl> <esv08v$o5d$1@kujawiak.man.lodz.pl> <et6pse$eab$1@bandai.magma-net.pl> <et7emm$cf1$1@kujawiak.man.lodz.pl> <etak85$krq$1@bandai.magma-net.pl> <eteh83$he8$1@kujawiak.man.lodz.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
From: SasQ <sasq1@go2.pl>
Newsgroups: pl.comp.objects
Subject: Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
Date: Fri, 16 Mar 2007 22:49:45 +0100
Organization: Ganz Automyjnia (i przeróbki ;)
Lines: 52
Message-ID: <pan.2007.03.16.21.49.44.873488@go2.pl>
References: <pl-comp-objects-faq-1-1166202604@ict.pwr.wroc.pl> <esemb6$2r3$1@kujawiak.man.lodz.pl> <1173026771.18775.7.camel@qrnik> <esfchn$t5r$1@kujawiak.man.lodz.pl> <esgboi$8i2$2@bandai.magma-net.pl> <esi2kk$skh$2@kujawiak.man.lodz.pl> <esi6uk$4mt$1@bandai.magma-net.pl> <esmu4p$ii1$2@kujawiak.man.lodz.pl> <esn1nl$7q7$1@bandai.magma-net.pl> <esv08v$o5d$1@kujawiak.man.lodz.pl> <et6pse$eab$1@bandai.magma-net.pl> <et7emm$cf1$1@kujawiak.man.lodz.pl> <etak85$krq$1@bandai.magma-net.pl> <eteh83$he8$1@kujawiak.man.lodz.pl>
Reply-To: sasq1@go2.pl
NNTP-Posting-Host: caz254.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
X-Trace: atlantis.news.tpi.pl 1174081791 21166 83.30.97.254 (16 Mar 2007 21:49:51 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Fri, 16 Mar 2007 21:49:51 +0000 (UTC)
User-Agent: Pan/0.14.2 (This is not a psychotic episode. It's a cleansing moment of clarity.)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit