c++中的delete []异常
来源:互联网 发布:海关数据库的企业代码 编辑:程序博客网 时间:2024/05/22 13:42
昨天一个小学弟写c++程序是出现了一个问题后来经过我们和一个大三的学长讨论解决了这个问题感觉不错,拿出分享他报错这个错
代码如下:`#include
using namespace std;
class Point{
public:
Point();
Point(int x,int y,char * str){
this->x=x;
this->y=y;
//this->str=new char[10];
//strcpy(this->str,”Goods”);
this->str=str;
}
Point(int x,int y){ this->x=x; this->y=y; str=new char[10]; strcpy(str,"Goods");}//深拷贝Point(const Point & point){ x=point.x; y=point.y; str=new char[10]; strcpy(str,point.str);}~Point(){
delete [] str;
}void show();
private:
int x;
int y;
char * str;
};
void Point::show(){
}
int main(){
Point p(3,4);
p.show();
char * str=new char[10];
str=”Goods”;
Point p1(5,6,str);
p1.show();
return 0;
}`
原因出现在这里析构函数中的delete[] 数组 只能删除动态分配的空间,然而我们传入的是保存在文字常量区 的指针,注意虽然main中的str初始化时是指向动态分配的空间但是 str=”Goods”;又变成指向文字常量区 了
0 0
- c++中的delete []异常
- c#中的异常处理
- Objective-C中的异常
- C语言中的异常
- 关于C/C++中的关键字delete
- c++: 获取delete[]中的数组大小
- C++ delete与delete[]异常
- C ++ delete 和delete[]
- {c++}delete与delete[]
- objective-c中的异常处理
- C语言中的异常处理
- C语言中的异常处理
- C语言中的异常处理
- C语言中的异常处理
- C语言中的异常处理
- C语言中的异常处理
- C语言中的异常处理
- delete 总出异常
- IllegalThreadStateException: Thread already started解决
- DDMS android 开发工具-----dump View Hierarchy for UI automator
- JS创建对象的几种方式
- Mysql入门第四课 视图和存储程序
- 机器学习:SVM学习笔记(三)
- c++中的delete []异常
- How a Cursor becomes Bind Aware?
- JAVA HTTPClient PostMethod 中文乱码问题解决方法
- Java实现栈结构详细代码
- uestc876爱管闲事【区间dp】
- 空间直方图Meanshift跟踪—代码
- TreeSet练习题
- LoadRunner之并发用户数与迭代关系
- mybaits批量插入