内存申请和释放的疑问?
1.用new申请内存时返回NULL,说明失败,怎么不抛出异常呢?看msdn上说要抛出bad_alloc的.
2.以下代码
unsigned char *buffer = new unsigned char[sizeof(string)];
string *pstr = new (buffer) string;
这样申请的的内存如何释放?
我发现delete pstr, buffer;和delete pstr;都可用,不知应该用哪个?
buffer和pstr的值是相等的,如果应该用delete pstr, buffer;能不能改成delete pstr, pstr;
之后还有没有必要delete [] buffer;?