new不出来到底出异常还是返回NULL?

new不出来空间的时候是返回NULL还是抛出异常?
试了一下,VC6?是返回NULL,?但如果使用了MFC,由于MFC进行了重载,因此会抛出异常。
VC7?中总是抛出异常,如果不希望抛出,需要使用?new?(std::nothrow)