KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Just recently I switched the language of my project to use C++ from C. With C, I used malloc and after that I check if malloc was successful but with C++, I use 'new' to allocate memory and I would like to know how you would normally check the memory allocation failure. From my google search, I saw nothrow like the following. char *buf = new (nothrow)char[10]; I also saw the following. try{} catch(bad_alloc&) {} But what about the following? I am using some of chrome library routines to use smart pointers. For instance, I have the code as follows. scoped_array<char> buf(new char[MAX_BUF]); It is great to use smart pointers but I am just not sure how I should check if the memory allocation was successful. Do I need to break into two separate statement with nothrow or try/catch? How do you normally do these checks in C++? Any advice will be appreciated.
Tags (comma-separated)
Save Edits
Cancel