第六周项目1:深复制体验
来源:互联网 发布:linux文件与格式结构 编辑:程序博客网 时间:2024/05/12 04:53
问题及代码:
#include<iostream>#include<cstring>using namespace std;class A{private: char *a;public: A(char *aa) { a = new char[strlen(aa)+1]; //(a)这样处理的意义在于:为指针分配指向的内存空间,+1是因为字符串结束时最后一个空间保存 \0 strcpy(a, aa); //(b)数据成员a与形式参数aa的关系:把aa所指向的字符串复制到a指向的内存空间 } ~A() { delete []a; //(c)这样处理的意义在于:释放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;}
运行结果:
知识点总结:
深复制,为指针类型的成员分配专门的空间。避免浅复制时野指针造成的潜在bug
0 0
- 第六周 【项目1-深复制体验】
- 第六周 项目1 深复制体验
- 第六周项目1 深复制体验
- 第六周项目1:深复制体验
- 第六周项目1-深复制体验
- 第六周项目1深复制体验
- 第六周项目1-深复制体验
- 第六周项目一:-深复制体验
- 第六周项目1.2 深复制体验
- 第六周项目一深复制体验
- 第六周项目一--深复制体验
- 第六周项目一--深复制体验
- 第六周 项目一-深复制体验
- 第六周项目一深复制体验
- 第六周项目一 深复制体验
- 第六周 项目一 深复制体验
- 第六周 项目一 深复制体验
- 第六周项目一深复制体验
- Cygwin 与 MinGW/MSYS/MSYS2,如何选择?
- 30种CSS3炫酷页面预加载loading动画特效
- Hadoop命令总结
- html的排版标记
- general error c101008a: Failed to save the updated manifest to the file ".\D
- 第六周项目1:深复制体验
- Python语法小结
- 显示表格的title时,如果title太长,则表示成...
- TabHost的使用
- RFID原理与技术课程第七章作业
- 嵌入式软件开发培训笔记——C高级 存储类、链接和内存管理
- 解决ant编译中出现“includeantruntime was not set”警告的问题
- maven 仓库汇总
- NOJ1222-English Game(AC自动机+dp)