当前位置: 首页 > 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调用不同的子类 

相关文章:

  • 泛目录:无极智能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的涡旋光和高斯光叠加产生平顶光
  • 中国太平保险集团官方网站/口碑营销的案例
  • 做网站建设的公司排名/浙江seo外包费用
  • 诸暨哪些公司可以制作网站/优化设计