已采纳回答 / AAnonymous
p1 是一个对象, 分配在栈上p2是一个指针,指向p1这个对象,即p2指向p1在栈上的地址(并没有创建新的对象)Coordinate *p2 = new Coordinate(); 才创建了新的对象,在堆上
2015-08-31
一般还会在深拷贝的基础上实现 "读时共享,写时复制" 的模式. 即不需要在拷贝构造函数中复制, 而是通过将维护的引用计数++. 当写时, 再进行复制, 并新开辟一引用计数. 在析构函数中, 检测引用计数, 当其为1时, 真正释放内存空间, 否则引用计数--.
2015-08-28
接楼下:
在 main.cpp 再次引用 Coordinate.h 使其多次调用造成redefine,因为已经被Line.h调用过,在主文件中无需再次声明。
在 main.cpp 再次引用 Coordinate.h 使其多次调用造成redefine,因为已经被Line.h调用过,在主文件中无需再次声明。
2015-08-26