- 博客(39)
- 收藏
- 关注
原创 C++学习笔记(三十三)——forward_list
std::forward_list 是 C++的STL中的单向链表(Singly Linked List),它相比 std::list(双向链表)更轻量,适用于仅需要单向遍历的场景。
2025-04-01 21:34:02
201
原创 C++学习笔记(三十二)——priority_queue
std::priority_queue是 C++的STL 提供的优先级队列(Priority Queue),本质上是基于堆(Heap)实现的一个容器适配器。
2025-04-01 20:14:08
234
原创 C++学习笔记(三十一)——map
std::map是 C++的STL(标准模板库)中的关联容器(Associative Container),底层基于红黑树(Red-Black Tree)实现,支持键值对存储,键自动排序,并提供高效的查找、插入和删除操作。
2025-03-31 11:39:31
262
原创 C++学习笔记(三十)——set
std::set 是 C++的STL(标准模板库)中的关联容器(Associative Container),底层基于红黑树(Red-Black Tree)实现,保证自动排序和唯一性。
2025-03-28 10:56:16
461
原创 C++学习笔记(二十九)——list
std::list是 C++的STL(标准模板库)中的双向链表容器,支持高效的插入、删除操作,适用于频繁在容器中间插入或删除元素的场景。
2025-03-27 11:03:43
474
原创 C++学习笔记(二十八)——queue
std::queue是 C++的STL(标准模板库)中的容器适配器,遵循先进先出(FIFO, First In First Out)原则,适用于排队处理任务、广度优先搜索(BFS)、进程调度==等场景。
2025-03-26 10:12:23
352
原创 C++学习笔记(二十七)——stack
std::stack是 C++ 的STL(标准模板库)中的容器适配器,遵循后进先出(LIFO, Last In First Out)原则,适用于需要按顺序存取数据的场景,如递归调用、括号匹配、深度优先搜索(DFS) 等。
2025-03-25 11:37:34
389
原创 C++学习笔记(二十六)——deque
std::deque(双端队列,double-ended queue)是 C++ STL(标准模板库)中的序列容器,类似于 std::vector,但支持在两端高效地插入和删除元素。
2025-03-24 21:06:15
448
原创 C++学习笔记(二十五)——vector
std::vector是 C++ 标准模板库(STL)中的动态数组,它的大小可以动态增长或缩小,并且提供了自动内存管理和丰富的操作函数。
2025-03-21 10:30:19
604
原创 C++学习笔记(二十四)——string
std::string是 C++ 标准库中的字符串类,用于存储和操作文本字符串。 它相比 char*(C 风格字符串)提供了更安全、灵活和高效的字符串操作方式。
2025-03-20 11:49:51
373
原创 C++学习笔记(二十三)——STL标准库
STL(标准模板库)是C++ 标准库的重要组成部分,提供了通用的数据结构和算法,使 C++ 具备高效、泛型、可复用的编程能力。
2025-03-19 16:30:53
779
原创 C++学习笔记(二十二)——模板
模板(Template)是 C++ 提供的泛型编程(Generic Programming)机制,允许在编译时创建通用代码,适用于不同的数据类型。模板分为两种:1. 函数模板(Function Template)—— 泛型函数2. 类模板(Class Template)—— 泛型类
2025-03-18 10:20:35
489
原创 C++学习笔记(二十一)——文件读写
文件读写指的是将数据从程序存储到文件,或从文件读取数据,以实现数据的持久化存储。 C++ 提供了 fstream头文件,用于文件操作,主要包括:ofstream(输出文件流)—— 向文件写入数据ifstream(输入文件流)—— 从文件读取数据fstream(文件流)—— 同时支持读写
2025-03-17 17:07:51
881
原创 C++学习笔记(二十)——类之运算符重载
运算符重载(Operator Overloading) 允许我们为自定义类赋予运算符(+ - * / == != [] ()等)的特殊功能,使其像内置数据类型一样操作对象。
2025-03-14 11:17:35
886
原创 C++学习笔记(十九)——类之多态
多态(Polymorphism)是面向对象编程(OOP)的核心特性之一,它允许同一接口表现出不同的行为。多态可以分为:1. 编译时多态(静态多态): 通过函数重载和运算符重载实现(在编译阶段确定调用哪个函数)。2. 运行时多态(动态多态):通过虚函数(virtual)和基类指针/引用实现(在运行时确定调用哪个函数)。
2025-03-13 10:39:37
665
原创 C++学习笔记(十八)——类之继承
继承(Inheritance) 是面向对象编程(OOP)的核心特性之一,允许一个类(子类)从另一个类(基类)派生,并继承基类的属性和行为。 继承的主要目的是代码复用,同时支持扩展和修改已有功能,提高程序的可维护性。
2025-03-12 09:54:02
435
原创 C++学习笔记(十七)——类之封装
封装(Encapsulation) 是面向对象编程(OOP)的核心特性之一,指的是把数据和操作数据的函数绑定在一起,并隐藏内部实现细节,防止外部代码直接访问对象的内部数据。
2025-03-11 20:49:38
461
原创 C++学习笔记(十六)——函数重载
函数重载(Function Overloading)是 C++ 允许多个同名函数 但参数不同的一种特性。 通过参数的类型、个数或顺序区分不同的函数。编译器会根据调用时提供的参数自动选择合适的函数。
2025-03-10 21:39:14
579
原创 C++学习笔记(十五)——引用
引用(Reference)是 C++ 中的一种变量别名机制,它允许一个变量拥有多个名称。 引用提供了一种安全、简洁的方式来访问变量,而无需使用指针。 特点:引用本质上是变量的别名,必须在定义时初始化。引用和原变量共享同一内存地址,对引用的修改直接作用于原变量。不能更改引用的绑定对象,引用一旦绑定,就不能重新指向其他变量。
2025-03-07 10:08:54
317
原创 C++学习笔记(十四)——分区存储
程序运行时内存的不同区域,不同的数据类型会存储在不同的存储区。代码区(Code),存储函数代码;全局/静态区(Data) ,存储全局变量 & 静态变量;堆区(Heap),动态分配的对象,需手动释放;栈区(Stack), 存储局部变量 & 函数参数。
2025-03-06 17:32:56
618
原创 C++学习笔记(十三)——指针
指针(Pointer)是 C++ 中的一种特殊变量,它存储的是另一个变量的内存地址,而不是具体的值。 指针有以下作用:直接操作内存地址,提高效率。动态内存分配,如 new 和 delete。数组与字符串的操作,如遍历数组。函数参数传递,提高性能,避免数据拷贝。实现数据结构,如链表、树等。
2025-03-05 20:35:07
645
原创 C++学习笔记(十二)——函数
函数是C++ 代码模块化的基础。函数有以下作用:提高代码复用性:相同的代码块可多次调用,而不必重复编写。增强程序可读性:将逻辑拆分,使代码结构更清晰。便于调试和维护:修改函数不会影响其他部分,降低错误风险。
2025-03-04 20:13:21
710
原创 C++学习笔记(十一)——循环结构
循环结构用于重复执行某一代码块,直到满足特定条件后退出循环。C++ 提供了以下三种循环结构:for 循环(确定次数的循环);while 循环(条件控制的循环);do-while 循环(至少执行一次的循环)。此外,C++ 还提供了 break和 continue 语句来控制循环流程。
2025-03-03 17:20:27
402
原创 C++学习笔记(十)——条件分支结构
条件分支结构用于控制程序的执行流程,根据特定条件决定执行不同的代码块。C++ 提供了以下五种条件分支结构:- if 语句(单分支结构)- if-else 语句(双分支结构)- if-else if-else 语句(多分支结构)- switch 语句(多分支选择结构)- 三元运算符 ?:(简化条件判断)
2025-02-28 20:26:42
399
原创 C++学习笔记(八)——用户自定义类型
struct(结构体)是一种用户自定义的数据类型,用于组合多个变量(成员变量)成一个单独的实体。union(联合体)是一种特殊的数据结构,与 struct 类似,但它的所有成员共享相同的内存空间。类(class)是面向对象编程(OOP)中的核心概念。
2025-02-25 11:31:54
361
原创 C++学习笔记(七)——枚举类型和void类型
在 C++ 中,枚举有两种类型:传统枚举(enum),强类型枚举(enum class)。void 是 C++ 中的一种特殊类型,表示 “无类型” 。 可用于:函数的返回类型(表示函数不返回任何值);指向未知类型的指针(void*);占位符(用于泛型编程或空参数列表)。
2025-02-24 19:15:03
398
原创 C++学习笔记(六)——浮点型
在 C++ 中,float 是单精度浮点数类型,可以表示小数、整数和科学计数法的数值。与 double 相比,float 的精度较低,但占用内存较小,运算速度较快。double 是双精度浮点数类型。long double 是扩展精度的浮点数类型,用于表示精度更高、范围更广的实数
2025-02-20 11:34:17
1077
原创 C++学习笔记(五)——整型
在C++中,char(字符型)和bool(布尔型)本质上也属于整数类型。在C++中,与 unsigned 相对,signed是有符号整数类型的修饰符,用于表示正数、负数和零,适用于需要表示负数或正负变化的场景。
2025-02-19 20:54:36
678
原创 C++学习笔记(四)——关键字之类、模板与异常处理等
标准C++关键字——参考Visual Studio2022中C++的概述。关键字(三)——类、模板与异常处理等。
2024-12-06 17:40:17
772
原创 C++学习笔记(三)——关键字之循环、条件与逻辑运算等
标准C++关键字——参考Visual Studio2022中C++的概述。关键字(二)——循环、条件与逻辑运算等
2024-12-05 17:17:36
1025
原创 C++学习笔记(二)——关键字之数据类型与类型转换等
标准C++关键字——参考Visual Studio2022中C++的概述。关键字(一)——数据类型与类型转换等。
2024-12-02 21:11:47
786
原创 C++学习笔记(一)——变量与常量
变量和常量都代表存储数据的实体,都有类型,且都在声明时分配内存。它们的作用域和生命周期也可以是局部或全局的。常量有时用来限制变量的值,或者给程序中的重要值添加保护。比如,可以定义一个常量来表示最大值或其他限制条件,这样即使程序很大,开发者也能确保这些值在整个程序中始终如一。
2024-11-06 20:46:39
736
原创 [Vivado] FPGA之计算信号的FFT和IFFT(IP核使用案例)
本文介绍了Vivado中FFT的IP核用法,先用Matlab生成待测试数据;在Vivado中配置FFT的IP核,实现求测试数据的FFT结果并通过IFFT还原测试数据,验证结果基本一致。[Vivado] IP核学习之Fast Fourier Transform。
2024-09-06 15:42:02
4169
12
原创 [Vivado] IP核学习之Fast Fourier Transform
Fast Fourier Transform是Vivado中的IP核,即快速傅里叶变换(FFT)。IP核内部使用的Cooley-Tukey FFT算法,是一种计算效率高的离散傅立叶变换 (DFT)方法。可实现正向和反向复数FFT(即IFFT),运行时间可配置。
2024-08-28 11:06:06
1379
原创 [Vivado] IP核学习之Block Memory Generator
Block Memory Generator是Vivado中的IP核,即块存储器生成器。Block Memory Generator IP核是一种高级内存构造器,可使用Xilinx fpga中的嵌入式块RAM资源来生成面积和性能优化的内存空间。Block Memory Generator支持(Native)本地接口和AXI4接口。
2024-08-23 21:07:13
3759
原创 [Vivado] IP核学习之Distributed Memory Generator
[Vivado] IP核学习之Distriubted Memory Generator
2023-11-20 10:56:02
3097
原创 [Vivado] IP核学习之Binary Counter
具体参考Xilinx文档,pg121-c-counter-binary Version12.0。
2023-11-13 11:31:03
1611
原创 数字锁相环的原理与FPGA实现
数字锁相环是锁相环电路的全数字实现。锁相环电路能够实现对输入信号的相位进行跟踪,进而在噪声中提取纯净的有用信号。以上就是今天要讲的内容,本文简单地介绍了锁相环的原理,然后,在Vivado仿真平台上,通过verilog做仿真验证。最终仿真结果能够实现锁定,但锁定时间较长,表明参数仍可做调整。
2023-11-05 21:59:51
6394
1
微机原理实验原理与代码分析资料.ppt,可做微机原理实验报告撰写参考
2024-09-10
openmptest.zip,VS2019使用OpenMP案例
2024-09-09
FFT-Test.zip,fpga仿真实现求解信号的FFT和IFFT
2024-09-06
小目标跟踪视频集.zip,红外小目标视频数据集
2024-07-10
舵机的原理与单片机控制案例.pdf,可做舵机控制学习参考
2024-07-06
Adafruit-PWM-Servo-Driver-Library-master.zip,arduino单片机的舵机控制参考示例
2024-07-06
PID.slx,PID仿真验证对比,基于Simulink
2024-07-06
DiffCode.zip,差分编译码的fpga仿真实现
2024-07-02
Proteus-8Led.zip,Proteus工程+KeilC51工程
2024-07-02
VS2019命令行下载离线安装包-引导程序.zip,只安装C/C++的桌面开发环境
2024-06-28
Proteus-LCD1602Test.zip,LCD1602的51单片机工程仿真
2024-06-28
Proteus-PWMTest.zip,Proteus工程+KeilC51工程
2024-06-27
Proteus-74HC595-SMG.zip,Proteus工程+KeilC51
2024-06-27
MatlabR2007基础教程课程学习课件.zip,包含第1-9章
2024-06-25
DS18B20开发资料.zip,包括DS18B20的读写函数程序和数据手册
2024-06-25
数字钟课程设计分析.pptx,分析讲解ppt,可做参考
2024-06-24
信号与系统实验参考-系统的时域分析.doc
2024-06-24
美赛报告的LaTeX+Word写作模板.zip
2024-06-18
IIR滤波器设计的Matlab参考程序.zip
2024-06-18
Proteus中仿真验证51单片机的音乐播放工程
2024-06-17
Vivado中FPGA的常用IP核资料汇总.zip
2024-06-13
VHDL工程,硬件仿真,基于Quartus ii15的加法器实验
2024-06-10
毕业设计格式要求,可按此格式要求书写毕业设计
2024-06-09
大学生创新创业计划书模板,两份模板,可按模板内容规划书写
2024-06-09
图片压缩,Matlab的GUI案例
2024-06-09
Matlab的Simulink仿真:基本锁相环仿真文件
2024-06-09
vhdl语言和其他HDL语言的区别与联系
2024-06-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人