🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #4615

Re: scope probleem (denk ik) in vc++

#4615
From: Roel Schroeven
Date: Thu, 17 Jul 2003 08:39
49 lines
2534 bytes
Harbinger of Doom wrote:
> De error doet zich voor in de copy-constructor van NodeHttpConnection.
> dit is'm:
> 
> NodeHttpConnection::NodeHttpConnection(class NodeHttpConnection& snhc)
> {
>      connection = snhc.connection;
>      port = snhc.port;
>      session = snhc.session; //<-- error
>      for(int i = 0; i < 23;i++)
>      {
>           url[i] = snhc.url[i];
>      }
> }
> 
> heb ik hier misschien ergens in gemist??

Je wijst hier een CInternetSession-object toe aan een ander
CInternetSession-object. Nog even afgezien van het feit of de compiler
dat al dan niet toelaat, denk ik dat dat een slecht idee is. Een sessie
is een sessie. Je zal ofwel dat object moeten delen tussen verschillende
NodeHttpConnection-instanties als je het wil hergebruiken, ofwel zal je
een nieuw moeten maken.

Als je die verschillende objecten eigenlijk niet nodig hebt, maar de
copy-constructor en operator= alleen om ze te kunnen doorgeven aan
functies, doe je er beter aan van pass-by-reference te gebruiken in
plaats van pass-by-value.

void ByValue(Node node)
{
    // ...
}

void ByReference(Node &node)
{
    // ...
}

// ...

Node node;

ByValue(node);      // de functie krijgt een kopie van node
ByReference(node);  // de functie werkt op node zelf

-- 
"Codito ergo sum"
Roel Schroeven
Technical Details
Message-ID: <ahtRa.15061$F92.1937@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!sn-xit-01!sn-xit-08!supernews.com!news.tele.dk!news.tele.dk!small.news.tele.dk!newsgate.cistron.nl!aotearoa.belnet.be!news.belnet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <A6YQa.12562$x86.1129888907@hestia.telenet-ops.be> <0G0Ra.12294$F92.1493@afrodite.telenet-ops.be> <GcjRa.15250$hz7.1464555842@hestia.telenet-ops.be> <upjRa.15259$Qp.1467791468@hestia.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,95543aa8161eaaf9
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2003-07-17 01:39:41 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!sn-xit-01!sn-xit-08!supernews.com!news.tele.dk!news.tele.dk!small.news.tele.dk!newsgate.cistron.nl!aotearoa.belnet.be!news.belnet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
Newsgroups: be.comp.programming
From: Roel Schroeven <j4nff5m02@sneakemail.com>
Subject: Re: scope probleem (denk ik) in vc++
References: <A6YQa.12562$x86.1129888907@hestia.telenet-ops.be> <0G0Ra.12294$F92.1493@afrodite.telenet-ops.be> <GcjRa.15250$hz7.1464555842@hestia.telenet-ops.be> <upjRa.15259$Qp.1467791468@hestia.telenet-ops.be>
Organization: http://www.catb.org/~esr/faqs/smart-questions.html
User-Agent: slrn/0.9.7.4 (Linux)
Lines: 49
Message-ID: <ahtRa.15061$F92.1937@afrodite.telenet-ops.be>
Date: Thu, 17 Jul 2003 08:39:34 GMT
NNTP-Posting-Host: 81.164.36.61
X-Complaints-To: abuse@telenet.be
X-Trace: afrodite.telenet-ops.be 1058431174 81.164.36.61 (Thu, 17 Jul 2003 10:39:34 MET DST)
NNTP-Posting-Date: Thu, 17 Jul 2003 10:39:34 MET DST