首页 > 编程语言 >数据结构与算法 课程随记

数据结构与算法 课程随记

时间:2024-10-18 19:32:58浏览次数:7  
标签:构造函数 函数 ++ 算法 随记 https 拷贝 数据结构 指针

因为有时候需要在不同设备编辑同一份文档,本地不太方便了,先在放着博客园比较省事吧。

但是博客园是不是快要四了啊,没事再整一个个人博客吧。

内容非常杂,因为不想去上课所以还是有点东西不会,就记录一下查不会东西的时候学会的东西。没什么参考价值。

Class

https://www.runoob.com/cplusplus/cpp-classes-objects.html
image

大纲

定义成员函数,(无论public/private都可以在内部/外部定义)

范围 public,private,protected

pub,pri,pro三种类的继承

构造函数,析构函数,拷贝函数

1.构造函数可以用列表方法/常规方法
常规
image
列表
image

2.拷贝函数使用时机:
1.使用一个已经创建完毕的对象来初始化一个新对象(就是直接用类赋值给另一个类);
2.值传递的方式给函数参数传值;
3.以值方式返回局部对象(比如一个函数返回的类型是这个类)。
总之就是需要用到赋值的时候,都必须有拷贝函数

函数参数为 对象的引用时,不会调用拷贝构造函数:

image
image

又悟了一些,原来是要配合析构函数才用拷贝函数。

this指针:只是更明确的说明是访问类的成员,避免重名。

深浅拷贝

默认是浅拷贝,写了拷贝函数可以深度拷贝。

image

浅拷贝是创建一系列新的对象使得值和原对象完全相同,包括指针的值,这就使得如果类内有指针成员,拷贝前后的指针虽然不同(指针的地址不同),但是指针指向的地址相同。

深拷贝对于指针类成员来说,拷贝前后的指针不同(指针的地址不同),但是指针指向的地址也不同。

其实浅拷贝是保证指针的值相同,深拷贝只保证了指针指向的数据的值相同。

引用类型变量&

https://blog.csdn.net/Jiangtagong/article/details/109227756

image
image
image
image

const 进阶

https://blog.csdn.net/xingjiarong/article/details/47282255

https://blog.csdn.net/as480133937/article/details/120804503

https://www.runoob.com/w3cnote/cpp-const-keyword.html

static 进阶

template

image

重载运算符

image
image
image

然后悟到了返回一个引用的话,就是 &operator 这类返回代表做完这个运算之后得到的是一个左值,但是如果返回的是 operator 的话就是一个值,只能作为右值。

image

比如 (++i)=10是正确的,但是(i++)=10就不行,因为++i是一个变量,i++只是一个值。

标签:构造函数,函数,++,算法,随记,https,拷贝,数据结构,指针
From: https://www.cnblogs.com/TYubai/p/18474919

相关文章

  • [学习笔记] Minimax 算法和 Alpha-Beta 剪枝
    题目引入在博弈论中,有这样一类题目:两个玩家A、B轮流行动,A先手,B后手。有一个结果,A想要使它最大,B想要使它最小。Minimax算法把每个状态作为一个点,每个转移作为一条边建出一棵树。这棵树好像叫博弈树。两种实现(都没有真正地建树):直接搜索(可能有结点被重复经过)记忆化......
  • RRT*路径搜索算法matlab代码
    一、算法简介      RRT*路径搜索算法相比于RRT路径搜索算法多了重选父节点和重布线的过程:二、实现效果对比(比RRT算法更光滑) RRT路径搜索算法实现效果RRT*路径搜索算法实现效果三、代码完整代码私聊!......
  • 【智能算法应用】鸭群算法求解二维路径规划问题
    摘要本文研究了鸭群算法在二维路径规划问题中的应用,旨在解决复杂障碍环境下的最优路径搜索问题。通过模拟鸭群觅食行为,鸭群算法能够有效避开障碍物,找到最短路径。实验结果表明,鸭群算法在路径规划中表现出较快的收敛速度和较优的路径规划效果,适用于多种复杂环境下的路径优化......
  • 粒子群算法应用——聚类优化
    粒子群算法详见:https://blog.csdn.net/liutianbao2018/article/details/142743205目录1K均值聚类原理1.1什么是聚类1.2K均值聚类原理2PSO改进K均值聚类3结果对比1K均值聚类原理1.1什么是聚类聚类是一种无监督学习方法,通过相似性度量将数据点划分为多个簇,使得同......
  • 【智能算法应用】引力搜索算法求解二维路径规划问题
    摘要引力搜索算法(GSA)是一种基于引力学说的启发式算法,用于解决复杂的优化问题。本文应用GSA于二维路径规划问题,通过优化路径来避开障碍物并达到目标点。实验结果表明,GSA在路径规划中具有良好的表现,尤其在多障碍场景中,其优化路径平滑且避障效果显著。理论引力搜索算法是......
  • 粒子群算法应用——二维栅格路径规划
    粒子群算法详见:粒子群优化算法及应用-CSDN博客目录1栅格地图1.1 什么是栅格地图1.2栅格地图绘制2基本原理3结果展示1栅格地图1.1 什么是栅格地图栅格地图是一种将环境或地图区域均匀划分为一系列大小一致的网格单元,并为每个单元分配特定属性信息的地图表示方法......
  • 数据结构(JAVA)包装类&泛型
    文章目录包装类基本数据类型和对应的包装类装箱和拆箱面试题泛型什么是泛型泛型的语法泛型类的使用泛型的使用裸类型(RawType)(仅需了解)擦除机制泛型的上界泛型方法包装类基本数据类型和对应的包装类注意,除了int基本数据类型的包装类是Integer和char基本数据类......
  • 安全帽AI检测算法在工业安全领域的全面解析及开源代码及相关项目
    在各类施工现场,安全帽的佩戴是保障工人生命安全的重要措施。为了确保工人正确佩戴安全帽,安全帽检测算法发挥着关键作用。而在实际应用中,结合AI智能分析网关V4与EasyCVR视频汇聚智能分析平台,更是能将安全帽检测的效果发挥到极致。例如,在某大型建筑工地,通过在施工现场安装多个摄......
  • 数据驱动的未来:AI智能分析网关V4车辆违停算法与智慧城市交通管理
    在现代交通管理中,车辆违停问题一直是影响城市交通秩序和安全的重要因素。AI智能分析网关V4车辆违停算法则可以更高效地管理车辆违停现象。AI车辆违停算法通常基于计算机视觉技术。首先,通过摄像头采集道路上的图像或视频信息。这些摄像头可以安装在路口、路段等关键位置,以实现对不......
  • 必学排序算法——插入排序
    目录前言、一、什么是插入排序算法二、插入排序的特点三、算法基本步骤四、算法图解五、c代码模板六、经典例题1.去掉最低工资和最高工资后的工资平均值代码题解2.删除某些元素后的数组均值3.学生分数的最小差值七、结语前言、插入排序算法是必须掌握的一种基础算......