C++注意点——更新中

  • 最晚new原则。用的时候再new;
  • 哈希表和红黑树一定要掌握;
  • 引用的对象不可能为空;
  • 指针指向的空间可以为空;
  • 构造函数加explicit防止隐式转换(就是类型转换)
  • 右值在=的左边不能使用,会报错
  • std::move(左值)可以变成右值
  • 右值引用可以减少拷贝次数,提高性能

拷贝构造函数和赋值的区别:

  • 拷贝是定义的时候执行;
  • 赋值是先定义,再赋值,重载=时,需要先考虑原来的对象和要赋值的对象是否相等。

智能指针

智能指针是模板类

当不涉及对象的生命周期时,最好不要使用智能指针作为函数参数

std::unique_ptr

  • 独占资源
  • 不能进行赋值(拷贝构造函数和赋值函数都被删除了,利用的是C++11的新特性,令函数=delete)
  • 可以进行资源的所与权转移:move
    在这里插入图片描述

std:shared_ptr

  • 共享资源所有权
  • 有拷贝构造函数
  • 相互引用会导致死锁,无法释放资源
  • 引用的时候引用计数不变

std::weak_ptr

  • 不会改变引用计数
  • 通常与shared_ptr配合使用

相关推荐

  1. springboot 注解(持续更新

    2024-03-28 22:36:05       15 阅读
  2. defer recovery from panic注意

    2024-03-28 22:36:05       18 阅读
  3. Vue学习笔记-Vue3setup函数注意

    2024-03-28 22:36:05       44 阅读
  4. 的static成员的注意

    2024-03-28 22:36:05       12 阅读
  5. H3C 交换机配置 IGMP-snooping 注意

    2024-03-28 22:36:05       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-28 22:36:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-28 22:36:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-28 22:36:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-28 22:36:05       18 阅读

热门阅读

  1. Milvus+ATTU环境搭建

    2024-03-28 22:36:05       24 阅读
  2. 深度挖掘Scrapy爬虫框架:进阶应用技巧

    2024-03-28 22:36:05       18 阅读
  3. 【华为OD机试】园区参观路径【C卷|100分】

    2024-03-28 22:36:05       17 阅读
  4. Redis基础命令集详解

    2024-03-28 22:36:05       18 阅读
  5. 大数据与AI:开启智能时代的融合之旅

    2024-03-28 22:36:05       17 阅读
  6. C 练习实例85-判断一个素数能被几个9整除

    2024-03-28 22:36:05       20 阅读
  7. Leetcode 665. 非递减数列

    2024-03-28 22:36:05       17 阅读
  8. 进程与线程(Thread)

    2024-03-28 22:36:05       18 阅读
  9. 【算法】拓扑排序

    2024-03-28 22:36:05       18 阅读
  10. 题目 2884: 矩阵乘法

    2024-03-28 22:36:05       19 阅读