Article View: be.comp.programming
Article #4615Re: scope probleem (denk ik) in vc++
From: Roel Schroeven
Date: Thu, 17 Jul 2003 08:39
Date: Thu, 17 Jul 2003 08:39
49 lines
2534 bytes
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-mailReferences:
<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