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 9 of 12 Topic 9509 of 9831
Post > Topic >>

Re: composition and bad_alloc

by Chris Uzdavinis <cuzdav@[EMAIL PROTECTED] > Apr 17, 2008 at 04:13 AM

On Apr 16, 5:43 pm, mpho <tjab...@[EMAIL PROTECTED]
> wrote:


>             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];
>             }

Your assertion can never fail, since "new" throws a std::bad_alloc
when it fails.  Therefore, the assertion is misleading and should
probably be removed.

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

Whoops!  Your destructor must perform the array form of deletion:

       delete [] ptr;

There is no need to set ptr to NULL afterwords, since as soon as we
exit the destructor, the object containing ptr no longer exists, and
its members can never be accessed again.

> int main(){
>
>  ar[10] = {ten values};
>  Y yobj(10, ar); //problem here(?)
> ......
> .....
>
> }
>
> What's the problem above?

1) ar has no type

2) "ten values" is pseudocode

3) Any uncaught exception (that can unwind the stack past main) will
cause std::terminate() to be called.  Since there are no try/catch
blocks in your program, and you say an exception is occurring, it
should be of little surprise that your program terminates.

-- 
Chris


      [ 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 Fri Jul 25 21:51:59 CDT 2008.