第9周项目1-深复制体验(1)
2016-05-17 16:39
134 查看
/*
All rights reserced.
文件名称:main.cpp
作者:李鑫
完成日期:2016.5.17
问题描述:阅读下面程序,补足未完成的注释。
*/
学习心得:有时候浅复制并不能达到我们的要求,这时就应该考虑深复制!
/*
All rights reserced.
文件名称:main.cpp
作者:李鑫
完成日期:2016.5.17
问题描述:阅读下面程序,补足未完成的注释。
*/
#include<iostream> #include<cstring> using namespace std; class A { private: char *a; public: A(char *aa) { a = new char[strlen(aa)+1]; //(a)这样处理的意义在于:_给a在堆区分配一块内存空间。 strcpy(a, aa); //(b)数据成员a与形式参数aa的关系:把aa复制给a } ~A() { delete []a; //(c)这样处理的意义在于: 将由aa复制的数组a的内存释放。 } void output() { cout<<a<<endl; } }; int main(){ A a("good morning, code monkeys!"); a.output(); A b("good afternoon, codes!"); b.output(); return 0; }
学习心得:有时候浅复制并不能达到我们的要求,这时就应该考虑深复制!
相关文章推荐
- Oracle中的like查询注意下划线“_”的使用
- 出差(3~七)
- 史上最全大数据学习资源整理(2)
- JAVA拾遗录
- spring从头开始(四)---AOP
- 封装datatables
- linux-lamp笔记
- Linux下建ftp'用户
- 畅通工程
- LeetCode-88.Merge Sorted Array
- JAVA拾遗录
- NoSQL 比较 - Cassandra vs MongoDB vs Redis vs ElasticSearch vs HBase
- Oracle Database 12c In-Memory 基本原理与简介
- GIT之git常用配置和操作
- GIT之git及git服务搭建
- JavaSE入门学习41:文件传输基础之二进制基础
- Android入门——构建UI布局的多种方式
- 关于商业贷款的一些经验
- UITableview
- TP框架基础(四)----添加数据