首页 > 代码库 > 一道笔试题的理解C++拷贝构造函数

一道笔试题的理解C++拷贝构造函数

看下面代码输出

#include <iostream>
#include <string.h>
#include <stdio.h>
class A{
	char* data;
public:
	A(char* pdata){
		int len = strlen(pdata);
		data = http://www.mamicode.com/new char[len+1];>第二句发生了拷贝构造,其实这道题是考察深拷贝和浅拷贝。拷贝构造时发生了浅拷贝.

我们可以从调试信息看到:

技术分享

此时pA和pB的data指向同一块内存

数据为"test"

一旦执行了delete pA之后

技术分享

此时已经指向空了.

一道笔试题的理解C++拷贝构造函数