c++prime plus 428~430.
str是个指向new 字符数组的指针。在方法cpp中的构造函数里,要用strcpy()将传递的字符串复制到新的内存里。std::strcpy(str, s);
那么为什么不能直接用str = s呢?
原因是字符串并不保存在对象中。字符串单独保存在堆内存里(堆中存储动态内存分配),而对象仅保存了指出到哪里查找字符串的信息。(即指向的地址)
str = s;//not the way to go
这只保存了地址,而没有创建字符串副本。
具体解释435页,值传递在默认复制构造函数出问题