help-gplusplus
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

lifetime of temporaries


From: sebastien333
Subject: lifetime of temporaries
Date: Wed, 04 Jul 2007 15:55:34 -0000
User-agent: G2/1.0

I have the following program:

class A
{
  string s;

  public:
  A(const string& a) : s(a) { cout << s << endl; }

};


class B : public A
{
  public:
  B(const string& b) : A(b) { }
};

class C : public B
{
  public:
  C() : B(string("ABC")) { }
};

int main(int argc, char *argv)
{

unsigned char i = 0;

C* c = new C;

delete c;
}
/////////////////////////////////////////////////////////

If I put the delete c statement in comment, valgrind will report that
I'm leaking c AND the string temporary created when invoking B ctor.
why ?

I would have expected that the temporary would be destroyed after c
was created, not haning there until I destroy c.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]