[lug] new operator in C++
Stephen Queen
svq at peakpeak.com
Sat Apr 27 14:28:53 MDT 2002
"D. Stimits" wrote:
>
> Older compilers behaved similar to malloc, and returned NULL if failed.
> Newer ones (g++) will throw an exception. To override this and get older
> NULL behavior, you can create your own custom allocator, or else do the
> easy thing, use the nothrow argument. E.G.:
> myClass* oTheClass = NULL;
> oTheClass = new(nothrow) myClass;
> assert(oTheClass);
>
> D. Stimits, stimits at idcomm.com
>
> PS: If in doubt, just use (nothrow) and see if the compiler
> complains...if it doesn't, then you have a compiler that supports
> exception throwing for failures of new.
> _______________________________________________
Let me rephrase my question. In the following example,
int* intptr=new int;
cout<<*intptr<<endl;
Is the newly created memory's value guaranteed to be zero. Will the out put
of the example be guaranteed to be zero.
More importantly, where is a good source of information on this? Do I need
to just start digging through the include header files to figure this stuff
out? I can do that, but it is sooo time consuming, and if some one has
already documented it, where can I find it?
More information about the LUG
mailing list