今天在社区看到一个问题,在查找资料的过程中以及各位的回复中学了不少东西。记录下来。
原文:http://community.csdn.net/Expert/topic/3393/3393098.xml?temp=.7317163
?
在C++标准中,对于placement operator new []有如下的说明:
placement operator new[] needs implementation-defined amount of additional storage to save a size of array.
也就是说,申请的原始内存需要比sizeof(ELEMENT)*n多sizeof(int)字节来存储这个数组的大小。
示例程序(摘自问题,感谢作者)
#include
#include
using namespace std;
class Integer
{
private:
?int datum;
public:
?Integer(int ival = 0)
?{
??datum = ival;
?}
?Integer(Integer const& rhs)
?{
??datum = rhs.datum;
?}
?
?Integer& operator = (Integer const& rhs)
?{
??datum = rhs.datum;
??return *this;
?}
?~Integer()
?{
???? cout
本文地址:http://com.8s8s.com/it/it27271.htm