当前位置: 首页 > news >正文

C++相关

1.定义pos时最好用无符号整型 如uint8_t size_t
编译器可能会有(有符号/无符号不匹配)的警告 总的来说就是符号一致

2.遇到俩个lambda相互调用的情况 使用std:funtion前置声明 

3.回顾了虚函数,定义virtual 就是虚函数 一般是父类指针指向子类对象的时候显示多态,若不是指针则是静态绑定 为函数重写  出现 virtual funtion = 0;就是纯虚函数 有一个纯虚函数的类是抽象类,它不能被实例化(因为虚函数未实现 ) 若是父类是抽象类 那么子类得把所有的纯虚函数都实现 否则这个子类也变成抽象类  

4.回顾了智能指针  shared_ptr unique_ptr 发现项目中有 

virtual~CSpDesignFactory() 
        {
            for (auto i = m_pNormalSpFunction.use_count(); i > 0; --i)
            {
                m_pNormalSpFunction.reset();
            }
        }  这样的代码  这是错误的写法 m_pNormalSpFunction.reset    reset() 只会影响调用它的 shared_ptr,而不会影响其他指向同一对象的 shared_ptr     reset   只减少引用计数 当引用计数变为0的时候自动销毁   

shared_ptr 的父类有两个指针 一个是自己的类型指针 还有一个引用计数指针 一般都是用unique_ptr没有管理共享所有权的开销

5.回顾工厂模式 

 父类定义为纯虚函数  有多个子类继承它 使用不同的id调用不同的子类 

http://www.dtcms.com/a/88720.html

相关文章:

  • 泛目录:无极智能SEO 流量引擎
  • 【Qt】常用控件
  • python3面试题23个(设计模式、面向对象、正则)
  • 特殊行车记录仪DAT视频丢失的恢复方法
  • 吴恩达机器学习笔记复盘(十一)逻辑回归的代价和损失函数
  • 为什么IE不支持{‘a‘:11,‘b‘:‘s2‘} 单引号的JSON数据
  • leetcode二叉树3
  • thinkphp漏洞再现
  • Anaconda 安装NCL (Linux系统)
  • GithubPages+自定义域名+Cloudfare加速+浏览器收录(2025最新排坑)
  • [免费]SpringBoot+Vue扶贫管理系统【论文+源码+SQL脚本】
  • Unity3D 动态遮挡剔除(Occlusion Culling)
  • 基于Spring Boot的智能停车计费系统的设计与实现(LW+源码+讲解)
  • 针对 WebView 强制使用本地字体的完整解决方案
  • windows docker如何修改 默认的Container memory usage
  • 2025-如何创建自己的电商网站
  • cfca 申请国密证书流程
  • Aider的Repo Map功能
  • 跨域问题的解决方案
  • 基于MATLAB的涡旋光和高斯光叠加产生平顶光
  • 深入解析 TCP:可靠传输的基石
  • YAML是什么?
  • 借助Trae从零开始完成贪吃蛇的项目
  • 解决 Element UI 嵌套弹窗显示灰色的问题!!!
  • LeetCode 解题思路 24(Hot 100)
  • 清华大学第12弹:《DeepSeek政务应用场景与解决方案》.pdf(文末附免费下载地址)
  • git_version_control_proper_practice
  • 【QT】Qlcdnumber的使用
  • C++11QT复习(二)
  • arm之s3c2440的I2C的用法