自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (4)
  • 收藏
  • 关注

原创 结构体内存对齐问题

当我们在C或C++中定义结构体时,编译器会对结构体的成员进行内存对齐,以提高访问速度。但这也可能导致结构体的大小增加,因为编译器可能会在成员之间插入填充字节。

2023-08-18 16:46:52 268

原创 【学习记录】守护进程

守护进程(Daemon Process)是在操作系统中运行的一种特殊类型的后台进程。一些常见的守护进程包括Web服务器(如Apache、Nginx)、数据库服务器(如MySQL、PostgreSQL)、网络时间协议守护进程(NTP)、系统日志守护进程(syslogd)等。创建守护进程的过程涉及多个步骤,包括分离从终端的连接、更改工作目录、关闭文件描述符、创建新的会话等。:守护进程在后台持续运行,不占用用户的终端。:守护进程通常会生成日志记录,用于记录其活动、错误和其他信息,以便于故障排除和监控。

2023-08-15 10:52:02 149

原创 构造函数列表初始化

构造函数初始化列表是在 C++ 构造函数中使用的一种特殊语法,用于在对象创建时对成员变量进行初始化。总之,构造函数初始化列表是一种重要的语法结构,可以用来在对象创建时对成员变量进行初始化。:使用初始化列表可以在对象创建时直接为成员变量赋值,避免了默认构造和再赋值的过程,提高了效率。:对于引用类型的成员变量,初始化列表是唯一的初始化方式,因为引用必须在创建对象时就初始化。:对于类中的常量成员变量,只能在初始化列表中进行初始化。:初始化列表开始的标志,表示即将开始初始化成员变量。是你要为成员变量初始化的值。

2023-08-13 15:05:32 165

原创 #ifndef #define #endif

在这段代码中,#ifndef xxx_H 检查是否没有定义 xxx_H,如果没有定义,那么就执行 #define xxx_H 定义它。#ifndef xxx_H:这是条件编译的开始,意思是“如果 xxx_H 还没有被定义”(通常 xxx_H 是头文件的名称,用大写字母和下划线表示),则执行下面的代码块。#ifndef xxx_H、#endif //xxx_H 和 #define xxx_H 三者之间是一种条件编译的结构,用于确保头文件只被编译一次,避免重复定义和编译错误。

2023-08-13 13:34:58 477

原创 Webserver项目学习记录(二)Linux多进程开发

在我们的日常生活中,当我们打开一个应用程序或执行一个任务时,计算机背后发生的事情远比我们看到的要复杂得多。这其中涉及到的核心概念是“进程”。

2023-08-13 10:17:58 570 1

原创 Webserver项目学习记录(一)Linux系统编程入门

GCC,全称 GNU Compiler Collection(GNU 编译器套件),是由 GNU 项目开发的一套编程语言编译器。它是自由软件,遵循 GPL(GNU 通用公共许可证)协议。GCC 最初只是一个 C 语言编译器,但现在已经能够编译 C++、Java、Ada、Objective-C、Go 等多种语言。GCC 是许多 Unix-like 系统(包括 Linux)的标准编译器,也有 Windows 版本的 GCC。

2023-08-05 17:48:26 1003 1

原创 循环队列的理解(C++)

在写力扣的《》的时候,对于答案感到了些许疑惑,以下是我对其的一些思考,记录一下以便以后翻阅。(如有错误,欢迎指正,不胜感激!

2023-07-31 22:41:18 280 1

原创 操作系统学习链接

互斥锁、自旋锁、读写锁、条件变量是常见的线程同步方式。互斥锁是最常见的线程同步方式,它是一种特殊的变量,它有 lock 和 unlock 两种状态,一旦获取,就会上锁,且只能由该线程解锁,期间,其他线程无法获取。自旋锁通过C++11的 std::atomic 类实现,它是一种比较轻量级的锁,它不会使线程进入睡眠状态,而是在等待锁的过程中循环检测锁是否被释放。7、进程间通信:PIPE、FIFO、消息队列、信号量、共享内存、socket。19、缺页置换算法:最久未使用算法、先进先出算法、最佳置换算法。

2023-03-30 23:18:22 360

原创 求数组的长度:size和sizeof的区别

sizeof是一个运算符,它用于获取一个类型或一个变量所占的内存字节数。在使用sizeof时,需要注意的是,对于数组,sizeof返回整个数组所占的内存字节数,而不是数组元素的个数。因此,对于数组获取元素个数,需要将数组总大小除以单个元素的大小。size是用于STL容器和字符串等对象获取其元素个数或长度的方法,比如vector的size()方法可以获取其元素个数,而string的size()方法可以获取其字符串长度。一般情况下,当需要获取STL容器或字符串等对象的长度或元素个数时,应该使用size方法;

2023-03-26 22:21:14 1908

原创 优先队列的实现,是队列还是堆?

从数据结构的角度来说,优先队列通常使用堆来实现,是一种特殊的队列,元素按照优先级顺序出队,而不是按照先进先出的顺序出队。与普通队列不同的是,优先队列在插入元素时,会按照一定的优先级顺序将元素插入到队列中,而在弹出元素时,总是先弹出优先级最高的元素。实际上,优先队列就是基于堆实现的,可以将堆看作一种特殊的优先队列。总之,优先队列的底层实现不一定是堆,但是堆是实现优先队列的最常用的方式,因为堆具有较好的时间复杂度和空间复杂度。优先队列的底层实现是堆(Heap),但是从功能上来看,它可以被看作一种队列。

2023-03-26 11:24:02 232

原创 【C++学习记录】特征标与重载

C++特征标是指一组用于描述编译器和库的特性的宏定义。这些宏定义通常由编译器提供,并且会根据不同的编译器和版本而有所不同。C++特征标主要用于编写跨平台代码,通过判断编译器是否支持某些特性来决定代码的行为。常见的C++特征标包括:__cplusplus:用于判断编译器是否支持C++标准的版本,例如 __cplusplus >= 201103L 表示编译器支持 C++11 标准及以上版本。STDC_HOSTED:用于判断编译器是否运行于操作系统环境中。

2023-03-15 20:23:13 321

原创 【C++学习记录】多态:动态多态、静态多态

静态多态和动态多态

2023-03-15 20:11:31 325

原创 C++学习链接

C++学习路线的知识点网页链接

2023-03-14 00:13:27 654

原创 【C++学习记录】为什么函数参数一般使用引用

介绍了引用的相关知识和作用

2023-03-12 17:24:23 1708 1

原创 【C++学习记录7】空类

介绍了空类

2023-03-08 11:27:27 401

原创 【C++学习记录6】深拷贝与浅拷贝的区别

介绍了深拷贝和浅拷贝的区别,以及相关的知识点

2023-03-08 10:50:07 478

原创 【C++学习记录5】移动构造函数与拷贝构造函数对比

介绍了移动构造函数和拷贝构造函数的区别,以及右值引用的概念

2023-03-06 22:15:23 2866 3

原创 【C++学习记录4】类的构造函数、析构函数、赋值函数、拷贝函数

介绍了类的构造函数、析构函数、赋值函数、拷贝函数

2023-03-03 15:23:51 274

原创 【C++学习记录3】向上转型

向上转型的概念及怎么理解额

2023-03-03 11:31:31 274

原创 【C++学习记录2】类(结构体)的访问权限:private、protected、public

介绍了类的访问权限以及与一些结构体的知识

2023-02-28 11:53:42 2373

原创 【C++学习记录1】面向对象的三大特性:封装、继承、多态

简单介绍了C++面向对象的三大特性:封装、继承和多态

2023-02-28 11:23:50 277

原创 【学习记录】YOLO的Anchor聚类(自行更新cfg文件)

【学习记录】YOLO的Anchor聚类(自行更新cfg文件)文章目录一、介绍二、代码三、py文件放置位置一、介绍我们都知道yolov3针对训练数据通过k-means聚类的方法获得了合适的anchor boxes大小。这类代码网上也比较多,可以得到如以下图片的结果:可以看到,这些代码得到的boxes是乱序且非整数的,所以需要我们根据这些boxes的面积大小重新排序,并填写入cfg文件中,还是比较麻烦的,于是我修改添加了一些代码,让anchor聚类完后得到boxes能自动更新到cfg文件中,减少一些繁

2021-11-10 15:25:12 1419

原创 【学习记录】window下使用pytorch运行yolov3代码出现的报错及修改记录

【学习记录】window下使用pytorch运行yolov3代码出现的报错及修改记录(源码为:eriklindernoren/PyTorch-YOLOv3)问题1:运行get_coco_dataset.sh文件下载coco数据集解决:需要下载git,随后在get_coco_dataset.sh文件所在地方右键空白处,点击Git Bash Here,将文件拖入到弹出的框中,即可运行。过程需连网,可能还需下载wget,wget下载参考下面链接。https://blog.csdn.net/qq_409623

2021-10-31 21:51:45 495

原创 【学习笔记】pytorch 深度学习训练如何显示进度条

【学习笔记】pytorch 深度学习训练如何显示进度条通过使用tadm,实时显示训练进度,并显示当前训练集正确率以及损失效果图如下:实现代码:def train(model, criterion, optimizer, trainloader, Epoch, EPOCHS, BATCH_SIZE): model.train() loop = tqdm(enumerate(trainloader), total =len(trainloader)) running_loss =

2021-08-17 12:27:05 8220 2

基于暗通道先验和灰度世界的自动白平衡算法改进

[1]李晓川,黄成强,祝永新,田犁,闵嘉华,汪辉.基于暗通道先验和灰度世界的自动白平衡算法改进[J].工业控制计算机,2018,31(11):90-92.

2021-08-03

canny边缘检测.rar

自己写的canny边缘检测matlab代码,可用于学习思路

2021-07-24

自适应中值滤波.zip

图像处理作业,自适应中值滤波器的实现,根据数字图像处理 第三版(冈萨雷斯 著)此书所描述的算法实现编码

2020-05-03

Desktop.zip

学生信息管理系统 该学生管理系统能添加,删除,查找,显示学生信息,能计算学生的优良等级,统计总人数,及格率及各分数段人数。能从文件中读取信息,并把修改过后总信息导入文件,在每次操作后刷新页面。支持读取txt文件,以便读入学生信息。将学生信息保存在二进制文件中,以便下次运行。

2019-06-15

空空如也

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

TA关注的人

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