placement new和TObject的问题
class TInfo1 : public TObject
{
public:
int i;
};
class TInfo2
{
public:
int i;
};
char buf1[100];
char buf2[100];
TInfo1 * pData1 = new(buf1) TInfo1;
TInfo2 * pData2 = new(buf2) TInfo2;
ShowMessage( "pData1=" + String( DWORD( pData1 ) ) + ", buf1=" + String( DWORD( buf1 ) ) );
ShowMessage( "pData2=" + String( DWORD( pData2 ) ) + ", buf2=" + String( DWORD( buf2 ) ) );
以上代码会显示pData1和buf1的地址不相等,pData2和buf2的地址相等,也就说继承TObject类后,placement new的用法没起作用,虽然系统用缺省的new分配了内存,有人知道原因吗?
{
public:
int i;
};
class TInfo2
{
public:
int i;
};
char buf1[100];
char buf2[100];
TInfo1 * pData1 = new(buf1) TInfo1;
TInfo2 * pData2 = new(buf2) TInfo2;
ShowMessage( "pData1=" + String( DWORD( pData1 ) ) + ", buf1=" + String( DWORD( buf1 ) ) );
ShowMessage( "pData2=" + String( DWORD( pData2 ) ) + ", buf2=" + String( DWORD( buf2 ) ) );
以上代码会显示pData1和buf1的地址不相等,pData2和buf2的地址相等,也就说继承TObject类后,placement new的用法没起作用,虽然系统用缺省的new分配了内存,有人知道原因吗?
...全文
相关推荐
placement new详解
placement new详解
全面解析C++中的new,operator new与placement new
以下是C++中的new,operator new与placement new进行了详细的说明介绍,需要的朋友可以过来参考下
C++ 中placement new 操作符使用方法
主要介绍了C++ 中placement new 操作符使用方法的相关资料,需要的朋友可以参考下
c语言中new_C++的new归纳详解
本文档为word文档,主要介绍c++中new的用法,介绍详细,有具体代码分析,适合初学者理解,高手也值得一看!
深入C++的new关键字
“new”是C++的一个关键字,同时也是操作符。关于new的话题非常多,因为它确实比较复杂,也非常神秘,下面我将把我了解到的与new有关的内容做一个总结。 new的过程


