摘要:
如果类中包含了使用new初始化的指针成员,应当定义一个复制构造函数,用来复制指向的数据而不是指针(深度复制)。 复制的另一种形式(成员复制)(浅复制)只是复制指针值。 要深度复制是因为普通的默认复制构造函数只会进行复制地址,在形参释放的时候,调用析构函数,会释放地址所指向的内容的内存,使得原对象(s 阅读全文
posted @ 2018-06-29 17:21
syne
阅读(368)
评论(0)
推荐(0)
|
摘要:
如果类中包含了使用new初始化的指针成员,应当定义一个复制构造函数,用来复制指向的数据而不是指针(深度复制)。 复制的另一种形式(成员复制)(浅复制)只是复制指针值。 要深度复制是因为普通的默认复制构造函数只会进行复制地址,在形参释放的时候,调用析构函数,会释放地址所指向的内容的内存,使得原对象(s 阅读全文
posted @ 2018-06-29 17:21
syne
阅读(368)
评论(0)
推荐(0)
摘要:
c++prime plus 428~430. str是个指向new 字符数组的指针。在方法cpp中的构造函数里,要用strcpy()将传递的字符串复制到新的内存里。std::strcpy(str, s); 那么为什么不能直接用str = s呢? 原因是字符串并不保存在对象中。字符串单独保存在堆内存里 阅读全文
posted @ 2018-06-29 11:27
syne
阅读(222)
评论(0)
推荐(0)
摘要:
c++primer plus 427页读书笔记。 静态存储类。静态成员有一个特点:无论创建了多少对象,程序都会只创建一个静态变量副本(即使是在循环中,静态的初始化语句也只在第一次生效),也就是说类的所有对象共享一个静态成员。 在程序12.1,和程序12.2中我们可以看到,static int num 阅读全文
posted @ 2018-06-29 08:07
syne
阅读(1472)
评论(0)
推荐(0)
|