c++ replacement new 操作
2013-10-23 16:06
225 查看
#include <string.h>
#include <malloc.h>
#include <new>//注意必须包括此头文件
class CTest
{
public:
CTest(int i,int ii)
{
m = i;
n = ii;
p = new char[100];
strcpy(p,"good test");
}
~CTest()
{
m = 11;
n = 13;
delete[] p;
p = NULL;
}
public:
int m;
int n;
char *p;
};
int main(int argc, char* argv[])
{
char * p = (char*)malloc(sizeof(CTest));
/*-------------------------------------------------------*/
// CTest * pt = new(p) CTest;
//equals with
CTest * pt = (CTest*) p;
pt->CTest::CTest(1,2);//调用构造函数
/*-------------------------------------------------------*/
pt->~CTest();//调用析构
free(p);
return 0;
}
#include <malloc.h>
#include <new>//注意必须包括此头文件
class CTest
{
public:
CTest(int i,int ii)
{
m = i;
n = ii;
p = new char[100];
strcpy(p,"good test");
}
~CTest()
{
m = 11;
n = 13;
delete[] p;
p = NULL;
}
public:
int m;
int n;
char *p;
};
int main(int argc, char* argv[])
{
char * p = (char*)malloc(sizeof(CTest));
/*-------------------------------------------------------*/
// CTest * pt = new(p) CTest;
//equals with
CTest * pt = (CTest*) p;
pt->CTest::CTest(1,2);//调用构造函数
/*-------------------------------------------------------*/
pt->~CTest();//调用析构
free(p);
return 0;
}
相关文章推荐
- c++ 的new 数组操作
- C++为什么new(malloc)操作会失败
- c++用new运算符在堆中申请空间及其他操作
- C++中关于原始数据类型指针变量的new操作以及delete操作
- 浅析C++中的 new 与 delete 操作
- C++成员变量的new操作应该放在构造函数中吗?
- 浅析C++中的 new 与 delete 操作
- C++为什么new(malloc)操作会失败
- c++ 嵌套new操作构造对像的执行顺序
- C++中new操作new操作的解释
- c++操作mysql - 查询结果集
- 位操作c++代码实例及运行结果
- C/C++ 文件读写操作总结
- 二叉树基于遍历的进一步操作c++实现
- C++ map 的基本操作和使用
- C++循环队列基本操作
- C++中有了malloc/free,为什么还需要new/delete?
- VC6.0中如何让new操作失败后抛出异常?
- C++实现单链表的创建、插入、删除、逆置操作
- C/C++文件操作函数使用总结