前些天,因为效率低下,去玩了2天,今天回来接着学。

今天主要学习了简单string的实现,以及string的遍历和增删改查的增;

string的简单实现主要包括构造函数、析构函数、拷贝构造函数的实现。

构造函数需要注意的是:1、得注意应该单独开辟一个空间来存放传递的参数,应该在堆上面。2、当不需要传参时,不能使string对象中的指针为nullptr,因为如果对该指针解引用时,会出错,因为空指针不能解引用,所以当不传任何实参时,也应该使其开辟一个字节的空间,来存放\0,表示数组存在。

拷贝构造函数需要注意的是:避免浅拷贝,浅拷贝可能会出现析构2次同一块地址,所以需要深拷贝,深拷贝原理就是开辟一块和被拷贝的对象一样大的空间,delete旧的空间,然后指针指向新开辟的地址,就搞定了。

增需要注意的就是内存不足时,需要开辟新的空间,但是得记住开辟得空间应该比strlen求得的大一个字节,因为得为\0留一个空间。

©著作权归作者所有:来自51CTO博客作者我要进大厂的原创作品,如需转载,请注明出处,否则将追究法律责任

好知识,才能预见未来

赞赏

0人进行了赞赏支持

更多相关文章

  1. rsync断点续传
  2. 苹果Mac不能复制拷贝文件到U盘如何解决?
  3. VMware拷贝虚拟机
  4. 单表快速恢复!XtraBackup 隐藏技巧揭秘
  5. RabbitMQ:rabbitmq.config(not found)问题解决
  6. Python工程师需要掌握的面试题
  7. Android(安卓)studio的那些坑- so文件添加的正确位置
  8. Android(安卓)手机sdcard目录或文件的拷贝、移动、删除(递归)
  9. Android(安卓)设计模式之原型模式

随机推荐

  1. 世界72亿人,都在干什么?
  2. 如何使用Python玩转PDF各种骚操作?
  3. 当你老了,一生最后悔什么?全球统计前五名
  4. 吴恩达 deeplearning.ai 经典总结:28 张精
  5. 是时候抛弃print了,开始体验下logging的强
  6. 这一年我都做了些什么?
  7. WIN10从休眠中唤醒,总是要点“登录”才能
  8. Python排序傻傻分不清?一文看透sorted与so
  9. 用Python实现跳一跳自动跳跃。
  10. 2018年原创精选文章汇总