Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > C++ Moderated > Re: composition...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 8 of 12 Topic 9509 of 9807
Post > Topic >>

Re: composition and bad_alloc

by Mathias Gaunard <loufoque@[EMAIL PROTECTED] > Apr 17, 2008 at 03:56 AM

On 16 avr, 23:43, mpho <tjab...@[EMAIL PROTECTED]
> wrote:

> class X {
>      int sz;
>      T *ptr;
>
>   public:
>             X(int s, T *p) : sz(s), ptr(new T[s])
>             {
>               assert(ptr != NULL);
>                for (int i = 0, i < sz; i++)
>                   ptr[i] = p[i];

ptr[i] = p[i] can throw.
If it does, you need to call delete[] on ptr.

>             ~X() {  delete ptr;  ptr = NULL;  }

You should use delete[], not delete. Calling delete on something
allocated with new[] is undefined behaviour.
ptr = NULL is also totally useless in a destructor.

By the way, the automatically defined operator= and copy constructor
will mess everything up. Either disable them, or write them to do deep-
copying.


>  class Y {
>               X xobj
>
>     public:
>                Y(int s, T *p) : xobj(s, p) {  } //OK?
>                 //other members
>                 ~Y() { } //OK?
>  };

That's OK, yes.


>  ar[10] = {ten values};

That doesn't seem to be valid C++ syntax.


>  Y yobj(10, ar); //problem here(?)

None at that line.

> What's the problem above?

How is a std::bad_alloc being raised a problem?
It could just means you're out of memory.


-- 
      [ See http://www.gotw.ca/resources/clcm.htm
for info about ]
      [ comp.lang.c++.moderated.    First time posters: Do this! ]
 




 12 Posts in Topic:
composition and bad_alloc
mpho <tjabane@[EMAIL P  2008-04-16 15:43:28 
Re: composition and bad_alloc
Michael Aaron Safyan <  2008-04-17 03:48:15 
Re: composition and bad_alloc
Geert-Jan Giezeman <ge  2008-04-17 03:58:39 
Re: composition and bad_alloc
"Antoon" <th  2008-04-17 03:57:37 
Re: composition and bad_alloc
acehreli@[EMAIL PROTECTED  2008-04-17 03:52:21 
Re: composition and bad_alloc
=?ISO-8859-1?Q?Daniel_Kr=  2008-04-17 03:56:57 
Re: composition and bad_alloc
Gerhard Menzl <clcppm-  2008-04-17 03:59:03 
Re: composition and bad_alloc
Mathias Gaunard <loufo  2008-04-17 03:56:11 
Re: composition and bad_alloc
Chris Uzdavinis <cuzda  2008-04-17 04:13:13 
Re: composition and bad_alloc
mpho <tjabane@[EMAIL P  2008-04-18 06:13:19 
Re: composition and bad_alloc
acehreli@[EMAIL PROTECTED  2008-04-18 15:01:27 
Re: composition and bad_alloc
=?ISO-8859-1?Q?Daniel_Kr=  2008-04-18 15:01:06 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Sat Jul 19 20:03:47 CDT 2008.