自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 面向对象程序设计 封装、继承、多态性的深坑_封装继承中遇到的问题

这样理解就舒服多了,我们完全可以从每一个局部来处理封装、继承、多态设计特性,不拘于顶层设计的自下向上(bottom-up)的编程,甚至可以从底层回溯、中层演变,可以封装就封装,可以继承就继承,可以多态就多态,不一定完整有序,但要顺时机而为,做到闭环有理,开环有据。通常情况是:项目分类是不确定的,即需要多少类和子类配合,怎么分类是最合理的安全的这些都是未知的。**封装、继承、多态是相对的,只在一个同一层面上。所有的实体对象也是相对的,在一个局部是实体对象,而对另一个外部确是一个类的元素,变成对象的对象。

2024-05-17 04:34:53 839

原创 面向对象程序设计 封装、继承、多态性的深坑_封装继承中遇到的问题(2)

这样理解就舒服多了,我们完全可以从每一个局部来处理封装、继承、多态设计特性,不拘于顶层设计的自下向上(bottom-up)的编程,甚至可以从底层回溯、中层演变,可以封装就封装,可以继承就继承,可以多态就多态,不一定完整有序,但要顺时机而为,做到闭环有理,开环有据。通常情况是:项目分类是不确定的,即需要多少类和子类配合,怎么分类是最合理的安全的这些都是未知的。**封装、继承、多态是相对的,只在一个同一层面上。所有的实体对象也是相对的,在一个局部是实体对象,而对另一个外部确是一个类的元素,变成对象的对象。

2024-05-17 04:34:19 732

原创 面向对象的设计原则——先放好概念,等学完26种模式之后再回过头来写心得_面向对象设计原则和面向对象设计模式观后感

这也就是之前总是说,涉及模式一定要下意识区分好,稳定的变化的,并且可以进行隔离。就是一个类的作用最好是单一的一个目的的,不要把一个类里面塞很多方法,单一原则。可以使用c++的多继承(其实是继承一个基类,其余都是抽象类接口)从而也可以保证单一原则,也可以完成对应任务。7、针对接口编程 ,而不是实类(这一点在后面工厂模式中会有对应的讲解)多态结合工厂完美的完成了主框架的稳定其都依赖于接口编程,无实类影响。(这个要拿出时间轴,分析未来这个会有什么变化,有什么需求的增加减少,这个角度来考虑是变化还是稳定的)。

2024-05-17 04:33:13 365

原创 零基础学算法100天第1天——Dijkstra(图解最短路算法)_计算两组位置点之间的最短距离的方案

既然知道Dijkstra是用来解决最短路径问题,那我们肯定要先清楚是最短路径问题。最短路径通俗的来说,就是在一个图中,从一个起始源点,到另外一个点的最小代价。为什么是最小代码而不是最短路径?因为可能题意说的并不是距离,也有可能是需要花费的金钱或者时间等,但其实都是最短路径问题的模型。Dijkstra有两种,一种是朴素的Dijkstra算法,时间复杂度为O(n^2),n是图中的点数。另外一种是堆优化版本的Dijkstra,时间复杂度是O(mlongn),n是图中的点数,而m是图中边的数量。

2024-05-17 04:32:26 525

原创 最新初学者的福利---初始C语言最后一弹(2),Activity的6大难点你会几个

逻辑反操作 真的变成假的,假的变成真的,在C语言中,0表示假,非0表示真。🔹 * 间接访问操作符(解引用操作符)(与指针以后详解)🔹 sizeof 操作数的类型长度(以字节为单位)🔹 ~ 对一个数的二进制按位取反(以后详讲)🔹== 用于测试“相等” 注意千万不要写成=🔹 & 取地址(针对指针的时候讲)🔹 (类型) 强制类型转换。**🔹 ***乘法操作符。🔹 ++ 前置,后置++🔹 &= 按位与等。🔹 ^= 按位异或等。🔹 – 前置,后置–🔹 |= 按位或等。

2024-05-17 00:30:22 379

原创 最新创建petalinux工程的两种方法_patalinux创建工程,C C++开发面试

Xilinx的开发板基本上都有对应BSP,在PetaLinux环境下可以很方便地生成一个基础工程,在基础工程的基础上进行配置和增删修改等,会比从零开始做简单得多。这里详细介绍了BSP的安装流程。你可以把BSP文件看做一个种子,通过特定的命令可以让其“成长”为一个工程,一个模板工程,一个基于特定板子的基础工程,让你可以在此基础上直接进行开发而不需要关心板子上的具体电路等。创建工程肯定不可能只从BSP生成,以下步骤可以创建一个自定义的工程,而不是基于某个特定开发板的工程。

2024-05-17 00:29:50 323

原创 最新分支语句和循环语句的复盘,两年C C++开发经验

printf(“星期一\n”);

2024-05-17 00:29:17 279

原创 最新冒泡排序(超详细图解加代码解析,5分钟看懂),2024年最新靠这份C C++知识点PDF成功跳槽

冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端,但是在广泛适用后,冒泡排序可以用来排任意顺序。

2024-05-17 00:28:43 271

原创 【C语言宝库】- 操作符 详解进制转换 计算机小白必备技能(上)(3)

16进制的数字每⼀位是0~9,a ~f 的数字,各⾃写成2进制,最多有4个2进制位就⾜够了,2进制的每一位数都由0~1数字组成。eg(1010就表示一个二进制数)10进制的数字每一位都由0~9数字组成。**八进制:由0-7的数字组成 ,**,所以在2进制转8进制数的时候,6b,16进制表⽰的时候。

2024-05-16 17:38:39 211

原创 【C语言宝库】- 操作符 详解进制转换 计算机小白必备技能(上)(2)

*15。

2024-05-16 17:38:06 381

原创 【C语言宝库】- 操作符 详解进制转换 计算机小白必备技能(上)(1)

16进制的数字每⼀位是0~9,a ~f 的数字,各⾃写成2进制,最多有4个2进制位就⾜够了,,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。2进制的每一位数都由0~1数字组成。eg(1010就表示一个二进制数)10进制的数字每一位都由0~9数字组成。**八进制:由0-7的数字组成 ,**,所以在2进制转8进制数的时候,6b,16进制表⽰的时候。

2024-05-16 17:37:33 286

原创 win10环境下虚拟机安装ubuntu系统_win10 如何访问虚机下面的ubuntu系统

此时,安装成功后,新建hello.c,通过:gcc hello.c -o hello ./hello 测试是否成功。3.在ubuntu中命令终端(ctrl+alt+t)输入命令: cd /mnt/hgfs/space即可看到共享的文件。同时,可以选择对vi编辑器进行配置,在root权限下,在/etc/vim/路径下对vimrc文件编辑实现。此时,通过在windows环境下利用编辑器editplus编辑cpp源文件,实现在linux环境下编译。注意:一定要选中上面的对勾,如下图。

2024-05-16 15:29:53 390

原创 websocket实现聊天室应用,包括文字和图片上传_websocket onmessage怎么接收客户端的图片

WebSocket和HTTP有什么关系么?Websocket其实是一个新协议,除了最开始借用了HTTP来完成握手,后面跟HTTP基本没有关系了。传统的HTTP要不断的建立、关闭连接(这里的关闭并不是说关闭TCP连接,而是关闭HTTP连接),而且由于HTTP是无状态性的,每次都要重新传输identity info(鉴别信息),来告诉服务端你是谁,当然,一般只是带个JSESSIONID之类的,服务端通过这个就知道你的其他信息了。

2024-05-16 15:29:20 325

原创 websocket实现聊天室应用,包括文字和图片上传_websocket onmessage怎么接收客户端的图片(3)

传统的HTTP要不断的建立、关闭连接(这里的关闭并不是说关闭TCP连接,而是关闭HTTP连接),而且由于HTTP是无状态性的,每次都要重新传输identity info(鉴别信息),来告诉服务端你是谁,当然,一般只是带个JSESSIONID之类的,服务端通过这个就知道你的其他信息了。以上操作不仅仅是服务端要做,客户端也同样做了该操作,然后将自己计算得到的结果和服务器传来的Sec-WebSocket-Accept作比较,如果相等则没问题,握手成功,如果不一致,则握手失败。

2024-05-16 15:28:47 217

原创 websocket实现聊天室应用,包括文字和图片上传_websocket onmessage怎么接收客户端的图片(2)

响应以上报文和一般的HTTP有很多不同的地方:1、请求和响应都有Upgrade: websocket和Connection: Upgrade,这是协议转换的意思,也就是请求时告诉服务器,本次连接需要的是websocket通信协议,而不是一般的HTTP,响应也带有该响应头表示转换成功。

2024-05-16 15:28:13 307

原创 最全matlab窗口学习,快速上手

不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

2024-05-16 07:54:46 485

原创 最全MATLAB实现最小二乘法_最小二乘法求一次线性方程matlab,C C++高级工程师必看系列

直接给出该式的参数解:其中。

2024-05-16 07:54:14 325

原创 最全matlab图像增强()_matlab中sharpness增强,2024年最新字节跳动+腾讯+华为+小米+阿里面试题分享

,f为进行滤波的图像,w表示滤波操作使用的模板。,参数有两个,n表示模版尺寸,默认值为[3,3],sigma表示滤波器的标准差,单位为像素,默认值为 0.5。,参数有两个,n表示模版尺寸,默认值为[3,3],sigma为滤波器的标准差,单位为像素,默认值为0.5。,参数为alpha,用于控制拉普拉斯算子的形状,取值范围为[0,1],默认值为0.2。,参数alpha用于控制滤波器的形状,范围为[0,1],默认值为0.2。,参数为n,代表模版尺寸,用向量表示,默认值为[3,3]。,用于边缘增强,无参数。

2024-05-16 07:53:41 352

原创 最全Matlab中fft函数的用法及关键问题详解(2),春招我借这份PDF的复习思路

FFT是Fast Fourier Transform(快速傅里叶变换)的简称,这种算法可以减少计算DFT(离散傅里叶变换,关于此更详细的说明见后文)的时间,大大提高了运算效率,并曾经一度被认为是信号分析技术划时代的进步,其重要性由此可见一斑。基于FFT在信号分析中的重要性,其必然会成为MATLAB的座上宾。(一)fft函数计算得到的Y是输入信号x的频谱吗?对应的幅值为X(k)/N,因此必须对fft得到的结果除以离散信号的长度N才能得到频谱幅值。(二)如何计算Y对应的频率f,并绘制(f,Y)频谱图?

2024-05-16 07:53:08 419

原创 基于QT的仓库礼品出入库管理(第一个给别人使用的软件)_qt做库房调度界面(2)

打包使用软件时注意不能拖整个文件夹,缺少的库可以根据图片加入进来。

2024-05-16 03:51:34 223

原创 基于QT的仓库礼品出入库管理(第一个给别人使用的软件)_qt做库房调度界面(1)

3、处理这样的文本库,涉及读取,写入并在在程序中修改比较的这些,其实可以读取,处理的时候都把换行去除掉, 用纯文本去比较,当写入的时候在加入换行符即可。2、lineEdit发送的returnPressed信号链接按钮的点击事件没有效果,是因为接收信号的对象应该是this,而不是按钮对象。整个过程最重要的是体验了开发后应用程序的打包到库的缺失,去找库这个问题的解决。2、整个功能没有太去优化都是直接去读取文件显示,按钮的点击事件处理的,,上面变贼高,那个输入框变高了,但是没找到设置固定值的地方。

2024-05-16 03:51:02 409

原创 基于qt和opencv实现人脸识别打卡系统_基于opencv+qt的人脸识别考勤系统设计

按照图示地方在path中加上opencv的bin路径,在我的工程中路径是…2、然后配置opencv_contrib-3.4.4和opencv库,这些在我的源码中都已经配置好了这里就说面一下。3、下面最关键的地方,(在这里出过几次问题),配置opencv可执行文件的路径。点击蓝色的人脸按钮即可开机摄像头开始识别人脸,下面说说这个功能的代码部分。3、配置qt+opencv其实很简单,下面先看看在这个项目的文件目录吧。首先我设计了三个界面分别完成打卡,训练,查表三个功能。1、通过识别人脸来实现每日打开的记录。

2024-05-16 03:50:29 311

原创 基于pytorch搭建AlexNet神经网络用于花类识别_alxnett实现102花卉

最近打算出一个基于pytorch搭建各种经典神经网络的系列。对神经网络有一定的了解,当然了,本节针对AlexNet,那么你应对其有较深入的了解,不明白的请看我之前关于此部分的介绍,详情戳此图标☞☞☞对pytorch有一定的了解,同样的,不了解的请移步至我之前的文章,详情戳此图标☞☞☞。

2024-05-16 03:49:55 882

原创 2024年最全双指针法总结之倚天屠龙_双指针算法总结(1),2024年最新剖析C C++开发未来的出路在哪里

经典解法双指针,一个跑得快,一个跑得慢。如果不含有环,跑的快的那个指针最终会遇到null,说明链表不含环;如果含有环,快指针最后会超慢指针1圈,和慢指针相遇,说明链表含有环。2. 已知链表中含有环,返回这个环的起始位置解法:当快慢指针相遇时,让其中任何一个指针指向头结点,然后两个指针以相同速度前进,再次相遇时所在的节点位置就是环开始的位置。原因:假设第一次相遇时,假设慢指针slow走了k步,那么快指针走了2k步,得到快指针多了了一圈为k步。设相遇点与环的起点距离为m,那么环的起点与头节点head。

2024-05-15 16:06:42 235

原创 2024年最全十道题带你手撕二叉树,上海大厂C C++面试经历

void _postorder(struct TreeNode* root,int *a,int *i)//辅助函数。void _preorder(struct TreeNode* root,int *a,int *i)//辅助函数。void _inorder(struct TreeNode* root,int *a,int *i)//辅助函数。int BTreeSize(struct TreeNode* root)//计算二叉树元素的数目。

2024-05-15 16:06:09 226

原创 2024年最全十个糟糕的程序员的行为_知名程序员陈皓突发心梗离世,2024年最新太现实了

糟糕的程序员总是希望自己的所处的环境是最好的,有明确的需求,有非常不错的开发环境,有足够的时间,有不错的QA,还有很强的team leader,以及体贴自己的经理,有足够的培训,有良好的讨论,有别人强有力的支持……,这是一种“饭来张口,衣来伸手”的态度,这个世界本来就不完美,一个团队需要所有人去奋斗,况且,如果什么都变得完美了,那么,你的价值何在吗?所以,糟糕的程序通常会让自己进入一种恶性循环,他们看上去总是疲惫的,总是很辛苦的,所以更没有时间来改善,越没有时间来改善,就有越多的问题。

2024-05-15 16:05:36 273

原创 C标准库 内存分配以及释放函数汇总___throw __attribute_warn_unused_result__ __attribu

【代码】C标准库 内存分配以及释放函数汇总___throw __attribute_warn_unused_result__ __attribu。

2024-05-15 10:07:45 329

原创 C标准库 内存分配以及释放函数汇总___throw __attribute_warn_unused_result__ __attribu(2)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新如果你需要这些资料,可以戳这里获取函数的作用:注意点:打印结果:网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化的资料的朋友,可以添加戳这里获取一个人可以走的很

2024-05-15 10:07:09 292

原创 C标准库 内存分配以及释放函数汇总___throw __attribute_warn_unused_result__ __attribu(1)

分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

2024-05-15 10:06:33 388

原创 cvte2021秋招 嵌入式 offer 面经_cvte嵌入式软件开发(单片机)笔试

感觉我运气很好,这个面试官人也很好,这是我第一次面试(面对面的),有些问题也没准备好,我说我没想过、没试过的时候, 面试官大哥总会跟我说,你想想看有什么方法呢?给我思考的机会哈。最后对我的问题也很细心的跟我解释新员工进来后如何,以及嵌入式进来后的可能会分的方向!这些问题都仅供参考,这些都还很简单,编程题也是,不过也有朋友问的问到很底层的驱动、内核移植裁剪、uboot,那是有点南了,有裂开的,也有过的。。准备充分,相信还是可以的!

2024-05-15 10:05:54 275

原创 C C++最新【C++】 AcWing 841,2024年最新C C++社招面经分享

字符串的哈希算法,:通俗的理解,就是将一个字符串转化成数字,原来我们进行字符串匹配的时候,就是一个个去匹配,那么时间复杂度是o(n),如果转化成数字,去匹配那么时间复杂度会变成o(1)。

2024-05-15 05:41:40 326

原创 C C++最新【C++】 AcWing 841(1),C C++高级开发岗必问知识点

字符串的哈希算法,:通俗的理解,就是将一个字符串转化成数字,原来我们进行字符串匹配的时候,就是一个个去匹配,那么时间复杂度是o(n),如果转化成数字,去匹配那么时间复杂度会变成o(1)。

2024-05-15 05:41:04 386

原创 C C++最新【C++ Primer 】第十二章 TextQuery 文本查询程序_c+,HTTPS面试常问全解析

for (auto num : *(qr.lines)) { // 遍历输出 如果没有这个单词 解引用为空。while (getline(infile, tmp)) { //读入文件 的每一行。: sought(s), file(f), lines§ { } // 构造。if (loc == wm.end()) { // 如果没有找到。

2024-05-15 05:40:28 784

原创 C C++最新【C C++面试必备】声明和定义的区别_c+(1),2024年最新四年C C++面试遇到的问题整理

声明是用来告诉编译器变量的名称和类型,而不分配内存。// 声明// 定义// 声明// 声明上面代码中,语句 extern int var;表示 var 在别的文件中已经定义,提示编译器遇到此变量时在其它模块中寻找其定义。语句 extern int ble = 10;表示定义了变量 ble,这一点需要注意。**注意:**即使是 extern ,如果给变量赋值了,就是定义了。定义是为了给变量分配内存,可以为变量赋初值。**注意:**全局变量或静态变量初始值为0,局部变量初始化为随机值。

2024-05-15 05:39:51 681

原创 C C++最全归并排序(C语言)详解_归并排序c语言,2024年最新深入剖析原理

left 到 mid 就是{1,4,6,8},mid+1到 right 就是{2,7,9,12}要对它进行排序,是不是应该给它分成两半分别是{1,4,6,8}和{2,7,9,12};就是把{4,12,8,9,6,2,7}分成两半,去执行上面的排序功能,哎我发现分割后;哎,那我就吧{4,12,8}和{9,6,2,7}都再次分成两半;这部分呢就是对{1,4,6,8,2,7,9,12}这样的数组进行排序的功能;所以如果有一个数组是{1,4,6,8,2,7,9,12};现在,我们用递归的方法把这个给实现出来;

2024-05-15 01:12:59 205

原创 C C++最全异常(C++)_c++捕获所有的异常(2),35岁以后的C C++程序员出路在哪里

如果你抛一个异常,他抛一个异常,XXX都抛了异常,那么上层捕获的人就会很难受。所以实际中都会定义一套继承的规范体系。这样大家抛出的都是继承的派生类对象,捕获一个基类就可以了。cin >> i;throw CacheExcetion(1, "数据不存在");int main()

2024-05-15 01:12:23 346

原创 C C++最全开卷数据结构?!单链表实现超详解~_单链表的结点释放(1),最新出炉

对于链表来说,每需要空间就需要进行开辟,这里我们将之封装成一个函数,便于后续调用直接使用(开辟的同时进行赋值)注:一定要注意修改链接节点址域的先后,避免地址的丢失。注:这是一个非常好的代码习惯。//未找到则什么也不干。

2024-05-15 01:11:47 401

原创 C C++最全常见点云分割技术_室内场景点云切割(1),2024年最新2024C C++春招面试经历

1、基于法线和曲率区域生长算法直观感觉上和欧几里德算法相差不大,都是从一个点出发,最终占领整个被分割区域。欧几里德算法是通过距离远近,来判断烧到哪儿。区域生长算法则不然,烧到哪儿靠燃料(点)的性质是否类似来决定。对于普通点云,其可由法线、曲率估计算法获得其法线和曲率值。通过法线和曲率来判断某点是否属于该类。显然,上述算法是针对小曲率变化面设计的。尤其适合对连续阶梯平面进行分割:比如SLAM算法所获得的建筑走廊。2、基于颜色:除了普通点云之外,还有一种特殊的点云,成为RGB点云。

2024-05-15 01:11:10 336

原创 C C++最全C++面向对象思维刷题_c++思维训练(2),并发知识体系大全

if (st_fir.i_first < st_sec.i_first)//注意细节,只能写小于,不能写小于等于,否则相同时会奔溃。//特化 string类型的大小比较比较字符串个数 错误不是这样特化的,这是类,要对类进行特化。sort排序重写谓词的时候注意我们只是重写小于号的谓词,因此不能写小于等于。//如果T本身涉及深拷贝,则需要T自己重写=运算符操作函数。//如果T本身涉及深拷贝,则需要T自己重写=运算符操作函数。//尝试把实现放到类外部就链接报错,应该是编译器问题。

2024-05-14 18:47:46 902

原创 C C++最全C++面向对象思维刷题_c++思维训练(1),2024年最新2024京东最新C C++面试真题解析

自定义verctor;要注意动态内存的扩展应该使用c++的new 因为传参类型可能是自定义类,如果使用malloc就会出现一系列问题。注意要创建[],=的操作运算符重载函数,动态数组一般都有这种直接操作的习惯,因此我们也应该主动实现的。区间应该使用数据结构struct封装,sort的重写小于号谓词,不能写小于等于的,sort里面规定的否则奔溃。四、模板方法是实现和定义都要在同一个文件中,否则vs会报链接错误的。不明确类型,并且可以扩展从大到小的自定义方式。

2024-05-14 18:47:11 122

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除