🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #6555

Re: pointer probleempke

#6555
From: Nicolas Barbier
Date: Sat, 07 Dec 2002 17:21
43 lines
2343 bytes
dominova wrote:

> hallo allemaal,
> ik heb het een beetje moeilijk met pointers in c en c++
> Onderstaande code zou een pointer- via een functie wijzig_pointer- naar de
> globale variabele getal1 moeten laten wijzigen

Je probeer een argument te veranderen, maar aangezien C/C++ met 
call-by-value werkt verander je eigenlijk een kopie.

Werkt wel:

void wijzig_pointer(int **pointer) // Pointer is nu een pointer naar een
                                   // pointer naar een int
{
  *pointer=&getal1; // Verander de pointer waarnaar pointer verwijst zodat
                    // hij het adres van getal1 bevat.
}

Aanroepen als:

int getal1;
int getal2;
int *blaat = &getal2; // blaat wijst naar getal2
wijzig_pointer(&blaat); // Hierna wijst blaat naar getal1

Je kan ook een reference gebruiken (werkt alleen in C++):

void wijzig_pointer(int *&pointer)
{
  pointer=&getal;
}

Aanroepen als:

wijzig_pointer(blaat);

Maar persoonlijk vind ik deze manier verwarrend, aangezien je nu het 
functievoorschrift moet kennen om te kunnen besluiten of blaat nu al dan 
niet kan veranderd worden door de functie.

-- 
Nicolas Barbier
Technical Details
Message-ID: <3df22e23$0$3395$afc38c87@sisyphus.news.be.easynet.net>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!64.152.100.70.MISMATCH!sjc70.webusenet.com!news.webusenet.com!news.tele.dk!news.tele.dk!small.news.tele.dk!syros.belnet.be!news.belnet.be!feed1.news.be.easynet.net!sisyphus.news.be.easynet.net!not-for-mail
References: <skmI9.39670$Ti2.6375@afrodite.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: 107324,783c1464dae403ba
X-Google-Attributes: gid107324,public
X-Google-Thread: fcea4,783c1464dae403ba
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-12-07 09:22:06 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!64.152.100.70.MISMATCH!sjc70.webusenet.com!news.webusenet.com!news.tele.dk!news.tele.dk!small.news.tele.dk!syros.belnet.be!news.belnet.be!feed1.news.be.easynet.net!sisyphus.news.be.easynet.net!not-for-mail
Message-ID: <3df22e23$0$3395$afc38c87@sisyphus.news.be.easynet.net>
From: Nicolas Barbier <anti@spam.invalid>
Subject: Re: pointer probleempke
Newsgroups: be.comp.programming,nl.comp.programmeren
Followup-To: be.comp.programming
Date: Sat, 07 Dec 2002 18:21:23 +0100
References: <skmI9.39670$Ti2.6375@afrodite.telenet-ops.be>
User-Agent: KNode/0.6.1
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7Bit
Lines: 43
Organization: [ posted via Easynet Belgium ]
NNTP-Posting-Host: 213.193.183.37
X-Trace: 1039281699  3395 213.193.183.37
X-Complaints-To: abuse@be.easynet.net