🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #11923

Re: c++ functies

#11923
From: RedX
Date: Mon, 31 Dec 2001 11:16
53 lines
3171 bytes
Om die * en & echt duidelijk te hebben, moet dat uitspreekbaar zijn. *
betekent "de waarde aangeduid door" (behalve bij het declareren van een
pointer)  en & betekent "het adres van".

RedX


"Nicolas Barbier" <nicolas.barbier@easynet.nospamforme.be> schreef in
bericht news:3c2b01cf.806339@news.easynet.be...
> "Max Payne" <Max_Payne@pandora.be> wrote:
> >jo de mannen,
> >seg keb ier e probleemke.. tot over 2 weken kon ik alles van C++ wa we
> >gezien hadden.. dan kwamen de functies..beginfuncties gingen goed tot vr�
> >goed (na te studeren) maar dan wast alleen void functies
> >nu zit ge me int enzo, die ampersanten (&); waar kan ik hiervoor meer
> >studiemateriaal vinden?? een url liefst, of ook voorbeeldoefeningen zijn
> >goed..alles dat met functies te maken heeft, persoonlijke KLARE uitleg is
> >ook goed!
>
> die ampersanten worden voor 2 dingen gebruikt:
> in declararies betekent het een "reference" variabele maken (dit
> bestond nog niet in C)
> in expressies is het de referentie-operator, wat eigenlijk neerkomt op
> "een pointer maken" naar iets (dit bestond al wel in C)
>
> het eerste wordt in C++ nogal eens gebruikt om parameters van een
> functie zgn "variabel" te maken (benaming is wel vrij dubbelzinnig,
> komt van pascal). dit betekent dat de functie de waarde van zo een
> argument kan veranderen en dat de oproepende functie dat als
> neveneffect waarneemt (zonder die & kan je een parameter veranderen
> maar merkt de oproepende functie daar niets van)
>
> vb:
> void f(int a) { a = 5; }
> void g(int &a) { a = 5; }
> (...)
> int i = 0;
> f(i);   // de waarde van i verandert NIET
> g(i);   // de waarde van i wordt veranderd in 5
>
> merk op dat f(5) zin heeft maar g(5) niet (het argument van g moet een
> "lvalue" zijn (dit betekent ongeveer "iets dat kan worden veranderd",
> dus geen constante))
>
> references worden ook gebruikt als resultaat van een functie, maar dat
> is vooral om geheugen te sparen
>
> --
> Nicolas Barbier
>
> String myEmail() {
>   return "nicolas.barbier" + '@' + "easynet.be";
> }
Technical Details
Message-ID: <4OXX7.13732$rt4.1243@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!193.190.198.17!newsfeeds.belnet.be!news.belnet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <zLoW7.5741$tL6.1619282029@hebe.telenet-ops.be> <3c2b01cf.806339@news.easynet.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,dbab361d97ff10c1
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2001-12-31 03:16:18 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!193.190.198.17!newsfeeds.belnet.be!news.belnet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
From: "RedX" <redx@pandora.be>
Newsgroups: be.comp.programming
References: <zLoW7.5741$tL6.1619282029@hebe.telenet-ops.be> <3c2b01cf.806339@news.easynet.be>
Subject: Re: c++ functies
Lines: 55
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Message-ID: <4OXX7.13732$rt4.1243@afrodite.telenet-ops.be>
Date: Mon, 31 Dec 2001 11:16:16 GMT
NNTP-Posting-Host: 213.119.55.10
X-Complaints-To: abuse@pandora.be
X-Trace: afrodite.telenet-ops.be 1009797376 213.119.55.10 (Mon, 31 Dec 2001 12:16:16 MET)
NNTP-Posting-Date: Mon, 31 Dec 2001 12:16:16 MET
Organization: Telenet Internet