自定义类使用delete[]时候出错
有一个问题,关于delete运算符的调用,先看一个类的定义
class Int
{
public:
Int(){};
Int(Int& value){}
Int(int value){}
~Int(){};
};
这是我自己定义的一个类,中间先不实现任何的东西。
//Demo 3.
Int* pInt = new Int(10);
//delete[] pInt; //带[]的使用delete会出bug
delete pInt;
int* pi = new int(10);
delete[] pi; //这个就不会出bug
我使用的开发工具是VS2010,请教下,为什么我自定义的类就出现不可以使用delete[]来释放内存空间?而内置的类型就可以(在定义的不是数组的基础上调用delete[],如果是定义的Int* pArr = new Int[10], 调用delete[] pArr是没有错误的)
请问我自定义的类应该添加一些什么处理,就可以使
Int* pInt = new Int(10);
delete[] pInt; //带[]的使用delete会出bug
不会出错?
class Int
{
public:
Int(){};
Int(Int& value){}
Int(int value){}
~Int(){};
};
这是我自己定义的一个类,中间先不实现任何的东西。
//Demo 3.
Int* pInt = new Int(10);
//delete[] pInt; //带[]的使用delete会出bug
delete pInt;
int* pi = new int(10);
delete[] pi; //这个就不会出bug
我使用的开发工具是VS2010,请教下,为什么我自定义的类就出现不可以使用delete[]来释放内存空间?而内置的类型就可以(在定义的不是数组的基础上调用delete[],如果是定义的Int* pArr = new Int[10], 调用delete[] pArr是没有错误的)
请问我自定义的类应该添加一些什么处理,就可以使
Int* pInt = new Int(10);
delete[] pInt; //带[]的使用delete会出bug
不会出错?
...全文
相关推荐
C++)改善程序设计技术的50个有效做法(PPT)
(C++)改善程序设计技术的50个有效做法(PPT),候捷译,172页ppt,免费
C++中delete和delete[]的区别
主要介绍了C++中delete和delete[]的区别的相关资料,需要的朋友可以参考下
解决SqlDataAdapter数据适配器update delete insert出错
解决SqlDataAdapter数据适配器update delete insert出错
MySQL DELETE 语句
MySQL DELETE 语句 你可以使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录。 你可以在 mysql> 命令提示符或 PHP 脚本中执行该命令。 语法 以下是 SQL DELETE 语句从 MySQL 数据表中删除数据的通用语法: DELETE FROM table_name [WHERE Clause] 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。 你可以在 WHERE 子句中指定任何条件 您可以在单个表中一次性删除记录。 当你想删除数据表中指定的记录时 WHERE 子句是非常有用的。 从命令行中删除数据
C++ 使用new与delete需注意的原则
主要介绍了C++ 使用new与delete需注意的原则,帮助大家更好的理解和学习c++,感兴趣的朋友可以了解下


