自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【测试】软件测试必读:一文搞懂BUG的生命周期与管理技巧

本文全面解析 bug 从新建、分配、修复到关闭的完整生命周期,并给出实用管理技巧:优先级设定、高效复现方法、避免无效流转的策略。掌握这些,你不仅能管好每个 bug,更能从源头提升软件质量。

2026-07-03 17:59:04 514

原创 【数据结构】顺序表

本文带你快速了解什么是顺序表,常见的线性表有哪些,如何实现,顺序表的种类,以及如何实现动态顺序表

2026-07-03 17:58:54 505

原创 【测试】自动化测试概念篇(C++方向):从零搞懂Web自动化

本文讲解了自动化测试的核心概念,包括自动化测试的定义、回归测试的含义、自动化测试与人工测试的关系、接口自动化与UI自动化的区别、自动化测试金字塔模型(理想金字塔 vs 企业实际)。重点介绍了Web自动化测试中的Selenium框架,包括WebDriver驱动的作用、webdriver-manager驱动管理工具、Selenium库的安装、以及一个完整的百度搜索自动化脚本示例。最后解释了Selenium、浏览器驱动、浏览器三者之间的交互工作原理。

2026-07-02 18:04:40 320

原创 【C++】C++继承入门(上):继承语法与基本特性详解

本文系统讲解 C++ 继承的核心特性。涵盖:继承的基本概念与定义格式、三种继承方式(public/protected/private)的访问权限变化、继承中的作用域与隐藏规则、派生类的六大默认成员函数(构造/拷贝构造/赋值重载/析构)、基类与派生类之间的转换规则、以及如何实现一个不能被继承的类。通过手写示例,深入理解继承的底层机制。

2026-07-02 10:20:10 540

原创 【C++】多态门(下):纯虚函数与抽象类、虚表指针与虚函数表

本文深入讲解 C++ 多态的底层实现机制。涵盖:纯虚函数与抽象类的概念、虚函数表(vtable)的结构与存储、虚表指针(vptr)的内存布局、派生类虚表的构建过程(继承/重写/新增)、同类型对象共享虚表、虚函数地址与普通函数地址的存储位置对比。通过内存地址打印与案例分析,彻底理解多态运行时绑定的底层原理。

2026-07-01 14:03:49 514

原创 【C++】 String 常用操作:增删查改 | 查找 | 截取 | IO

本文系统讲解 std::string 的进阶操作。涵盖:尾部追加(push_back、append、+=)、指定位置插入与删除(insert、erase)、字符串替换(replace)、查找(find)、子串截取(substr)、C风格字符串转换(c_str),以及整行输入(getline)

2026-07-01 14:03:41 697 1

原创 【测试】软件测试全分类,入门必懂核心体系

软件测试贯穿整个软件生命周期,分类方式多样,理解这些分类是构建质量保障体系的基础。本文系统梳理了软件测试的七大分类维度:按测试目标(界面、功能、性能、可靠性、安全性、易用性)、按执行方式(静态与动态测试)、按测试方法(白盒、黑盒、灰盒,并详细介绍了白盒的六种覆盖方法与黑盒常用用例设计技术)、按测试阶段(单元、集成、系统、验收,以及冒烟测试与回归测试的重要作用)、按是否手工(手工与自动化测试的优缺点对比)、按实施组织(Alpha内测、Beta公测与第三方测试)以及按地域划分(国际化测试与本地测试)。无论您是测

2026-06-30 10:29:14 547

原创 【C语言】数组

快速了解一维数组、二维数组、数组的创建、数组的初始化、数组的类型、数组下标、数组元素的打印、数组的输入、一维数组在内存中的存储、二维数组的概念、完全初始化、不完全初始化、C99中的变长数组,二维数组的使用、sizeof

2026-06-30 10:29:03 494

原创 【Linux】 传输层协议UDP:从端口号到传输机制

本文为传输层协议学习笔记,系统讲解了端口号的概念、划分规则与绑定逻辑,介绍了netstat工具的常用命令,同时解析了UDP协议的报文格式、核心特性与缓冲区机制,帮助初学者全面掌握传输层的基础知识点,理清端口号与进程的关系,夯实网络编程的底层基础。

2026-06-28 11:23:41 724

原创 【C语言】分支与循环---if语句、操作符

快速了解分支循环、if语句、else、if的嵌套、悬空else、操作符、关系操作符、条件操作符、逻辑取反运算符、逻辑与运算符、逻辑或运算符、练习、短路

2026-06-28 11:23:10 593

原创 【测试】软件测试入门必看:需求、开发模型、测试模型全解析

本文介绍了软件测试中的核心概念,包括需求分析、开发模型和测试模型。主要内容包括: 需求分为用户需求(简略)和软件需求(详细),后者是测试依据 软件生命周期:需求分析→计划→设计→编码→测试→运行维护 常见开发模型: 瀑布模型:线性结构,测试后置 螺旋模型:强调风险管理 增量/迭代模型:大型项目适用 敏捷模型:快速响应变更 这些基础知识是测试人员必须掌握的,无论是新手入门还是面试准备都很重要。文章通过生活案例和图表帮助理解这些专业概念。

2026-06-27 11:17:58 484 3

原创 【C语言】printf、scanf

快速了解Printf的基本用法、占位符、常用占位符列举、限定宽度、正负号显现、限定小数位数、输出部分字符串、scanf的基本用法、scanf的返回值、赋值忽略符

2026-06-27 11:17:20 573

原创 【Linux】小白也能学会!TCP Socket编程超详细入门教程

网络编程是后端开发、嵌入式开发里不可或缺的核心技能,而TCP Socket更是网络通信的基础核心。日常软件数据交互、设备之间信息传输,底层大多都依托套接字通信实现。 不少初学朋友刚接触Socket时,容易被三次握手、连接建立、数据收发等概念弄得摸不着头脑,理论看得明白,动手写代码却无从下手。 本文抛开晦涩难懂的冗余概念,从基础原理切入,一步步讲解TCP通信逻辑,搭配完整可运行代码示例,带你从零搭建服务端与客户端程序,吃透TCP Socket编程核心逻辑,轻松掌握基础网络通信开发。

2026-06-26 02:25:20 615

原创 【C语言】分支与循环---rand、srand、time

快速了解分支与循环、rand、srand、time、数字游戏、以及随机数的范围设置

2026-06-26 02:25:08 571

原创 【Linux】开发工具3 : gcc/g++的使用

快速了解gcc/g++的使用、预处理、宏替换、去注释、头文件展开、条件编译、编译(生成汇编)、汇编(生成机器可识别代码)、连接(生成可执行文件或库文件)、二进制格式

2026-06-25 10:13:27 525

原创 【C语言】C语言基础篇

main函数、关键字、字符和ASCll码表、转义字符、注释、数据类型、sizeof操作符、signed和unsigned、算术操作符、单目操作符

2026-06-25 10:13:11 506

原创 【Linux】硬件架构+系统软件:冯诺依曼与操作系统深度剖析

快速了解冯诺依曼体系、内存与CPU、操作系统(OS)、OS的作用、OS的管理方法

2026-06-24 11:14:13 554

原创 【C语言】一文吃透C语言分支循环中的rand、srand与time函数

本文聚焦C语言分支与循环场景下的随机数生成,详细解析 rand() 、 srand() 与 time() 三个核心函数的用法、原理及常见坑点。从伪随机数的底层逻辑出发,结合分支判断与循环控制的基础语法,带你彻底搞懂如何生成真正不重复的随机数,解决新手常遇到的“随机数固定”问题,为后续猜数字游戏等实战项目打下基础。

2026-06-24 11:13:54 492

原创 【C++】 String 核心用法:构造、遍历、容量与优化技巧

本文系统讲解 std::string 的常用操作。内容涵盖:多种构造方式、operator[] 与范围 for 遍历、迭代器(正向/反向/只读)、auto 的类型推导细节、容量管理(size / capacity / clear / empty),以及 resize 与 reserve 对性能的影响。

2026-06-23 17:37:27 982 1

原创 【C++】 深入容器适配器:从零实现stack与queue

本文将系统讲解 stack(栈)、queue(队列)和 deque(双端队列)的核心特性与实现原理。涵盖:stack 与 queue 的接口使用、底层容器适配机制、deque 的中控器+缓冲区结构、以及为什么 stack/queue 默认使用 deque 作为底层容器。通过模拟实现,深入理解容器适配器的设计思想与按需实例化机制。

2026-06-23 17:37:14 531

原创 【C++】C++继承入门(下):友元、静态成员与菱形继承的底层逻辑

本文深入讲解 C++ 继承体系中的进阶特性。涵盖:友元关系的非继承性、静态成员在继承体系中的共享性、单继承与多继承的内存模型、菱形继承带来的数据冗余与二义性问题,以及虚继承如何彻底解决这些问题。通过内存布局分析,深入理解复杂继承体系的设计原理与注意事项。

2026-06-22 18:44:04 506

原创 【C++】模板初阶: 解析模板原理、实例化与特化

本文系统讲解C++中的模板编程,这是C++实现泛型编程的核心机制。内容包括:函数模板的定义与使用(template关键字、typename/class区别)、模板参数推导规则、模板实例化(隐式实例化与显式实例化)、模板参数不匹配时的处理方式(强转、显式指定)、模板重载与普通函数的匹配优先级、类模板的定义与实现(声明定义分离的语法)、类模板的显式实例化、以及模板在容器类(如Stack)中的实际应用。

2026-06-22 18:42:46 519

原创 【C++】C++类与对象3:const成员函数与取地址运算符重载,权限管理的艺术

本文深入讲解C++类中两个重要但常被忽视的特性:const成员函数和取地址运算符重载。const成员函数用于声明不修改成员变量的函数,允许const对象调用,实现权限缩小(可读不可写);非const成员函数则不能被const对象调用,遵循"权限只能缩小不能放大"的原则。取地址运算符(operator&)可以重载,通常返回this指针,特殊场景下可返回nullptr来隐藏对象地址。文章还讲解了const版本与非const版本的函数重载机制,以及const对象只能调用const成员函数的编译器规则。

2026-06-21 00:13:51 486

原创 【C++】C++手写Vector容器:从底层源码模拟实现

本文将快速带你从零开始模拟实现 std::vector 的核心功能。涵盖:三指针内存管理架构、迭代器封装、构造与析构、reserve/resize 容量管理、push_back/pop_back 增删操作、insert/erase 的迭代器失效问题及解决方案、拷贝构造与赋值运算符重载(现代写法),以及迭代器区间构造等扩展接口。通过手写实现,深入理解 vector 的底层原理与性能陷阱。

2026-06-21 00:11:44 601

原创 【C++】多态门(上):多态的概念、虚函数、析构函数的重写、override和final关键字

本文系统讲解 C++ 多态的核心特性与实现原理。涵盖:多态的概念与分类(编译时/运行时多态)、虚函数重写的条件与规则、多态实现的三个必要条件、虚函数重写的特殊情况(协变与析构函数重写)、override 与 final 关键字的使用、经典面试题(默认参数与多态的坑)、以及重载/重写/隐藏的对比。通过大量代码示例,深入理解多态的底层机制

2026-06-20 00:22:58 495

原创 【C++】C++ 二叉搜索树完全指南:从原理到实现

本文系统讲解二叉搜索树(BST)的核心特性与实现细节。涵盖:BST 的核心性质与性能分析、插入/查找/删除三种操作的递归与迭代实现、中序遍历的有序特性、Key 模型与 Key-Value 模型的区别、以及完整的代码实现(含深拷贝、析构、统计词频等应用场景)。通过手写实现,深入理解 BST 作为 map/set 底层容器的基础原理。

2026-06-20 00:22:49 477

原创 【C++】C++类与对象4: C++友元、内部类、匿名对象与编译优化要点

本文深入讲解C++中五个进阶特性:友元函数与友元类(突破封装限制访问私有成员)、内部类(定义在类内部的独立类,受外部类域限制)、匿名对象(生命周期仅在一行代码内,无需取名)、编译器优化(传值传参与传值返回时的拷贝优化,如NRVO具名返回值优化)。文章通过大量代码示例,演示了友元的前置声明技巧、内部类自动成为外部类友元的特性、匿名对象的典型使用场景(如函数实参),以及编译器如何通过优化减少不必要的拷贝构造。

2026-06-19 11:56:06 483

原创 【C++】深度实战:模拟 String 类全部核心操作

本文基于带详细注释的代码,全面讲解 std::string 的六大核心模块:多种构造方式、三种遍历方法(下标/迭代器/范围for)、容量操作(size/capacity/resize/reserve)、增删改查(追加/插入/删除/替换/查找/截取)、C风格转换及整行输入。同时穿插 auto 关键字的使用细节,并给出模拟实现 operator[] 的核心思路

2026-06-19 11:55:57 461

原创 【C++】STL:掌握STL容器特性与实战用法

本文介绍了C++标准模板库(STL)的核心组件,包括容器(vector、list、map、set)、迭代器和算法。vector是自动扩容的动态数组,适用于大多数场景;list是双向链表,适合频繁中间插入删除;map存储键值对,底层为红黑树;set存储不重复元素。文章通过代码示例演示了vector的push_back、size、capacity操作,迭代器的遍历方式,sort、find等常用算法,以及stack和queue容器适配器的使用。

2026-06-18 12:49:32 886

原创 【C++】深挖STL list底层:解迭代器与节点存储逻辑

本文系统讲解 std::list 的核心特性与使用技巧。涵盖:list 的底层结构(双向循环链表 + 哨兵位头节点)、构造与遍历方法、迭代器特性(双向迭代器 vs 随机迭代器)、增删操作(push_front、push_back、insert、erase)、以及 list 专用算法(sort、unique、reverse、merge)。重点分析 list 迭代器不能使用 +/- 的原因,以及 erase 后迭代器失效的正确处理方式。

2026-06-17 10:25:23 413

原创 【C++】模板进阶全解:非类型参数|全特化|偏特化|分离编译完全指南

本文将带你深入讲解 C++ 模板的进阶特性。涵盖:非类型模板参数(编译期常量)、array 容器与原生数组的对比、模板特化的分类(全特化与偏特化)、函数模板特化的问题与替代方案、类模板特化的多种场景(指针/引用特化)。通过手写示例,深入理解 STL 底层设计的核心技巧。

2026-06-17 10:25:15 511

原创 【C++】C++ set 与 multiset 完全指南:关联式容器入门

本文系统讲解 set 与 multiset 的核心特性与使用技巧。涵盖:序列式容器与关联式容器的区别、set 的自动排序与去重机制、插入/查找/删除等核心接口、迭代器不可修改的限制、lower_bound/upper_bound 区间操作、multiset 对重复元素的处理、以及 set 与算法库 find 的效率对比(O(log n) vs O(n))。通过实战代码,深入理解红黑树作为底层结构带来的高效特性。

2026-06-16 16:44:33 466

原创 【C++】C++ map 与 multimap 完全指南:键值对容器详解

本文系统讲解 map 与 multimap 的核心特性与使用技巧。涵盖:map 的键值对存储机制、pair 结构体的使用、四种插入方式(匿名对象/make_pair/初始化列表)、迭代器遍历与 const 保护、find 与 erase 的删除操作、operator[] 的底层原理(插入/查找/修改三合一),以及 multimap 与 map 的核心区别(允许重复 key、无 operator[])。通过统计词频等实战案例,深入理解红黑树作为底层结构的高效特性。

2026-06-15 16:45:02 460

原创 【C++】 C++ priority_queue 完全指南:优先队列的使用与手写实现

本文系统讲解 priority_queue(优先队列)的核心特性与实现原理。涵盖:优先队列的堆结构基础、接口使用、仿函数(函数对象)自定义比较规则、向上/向下调整算法的实现、以及完整的手写模拟。通过底层实现,深入理解为什么优先队列适合处理 Top K、任务调度等优先级问题。

2026-06-11 10:26:23 623

原创 【C++】手写双向链表:list容器模拟实现

本文将快速带你从零开始模拟实现 std::list 的核心功能。涵盖:节点结构设计、哨兵位头节点、三模板参数迭代器复用、运算符重载模拟指针行为、insert/erase 的 O(1) 指针操作、以及完整构造/析构体系。通过手写实现,深入理解 list 的底层原理、迭代器失效与复用的优雅设计。

2026-06-08 11:50:25 464 1

原创 【C++】C++ vector 完全指南:构造、遍历、扩容、增删查改与二维数组

本文基于带详细注释的代码,系统讲解 std::vector 的核心操作。涵盖:多种构造与初始化方式、三种遍历方法(下标/迭代器/范围for)、扩容机制与性能分析、reserve 与 resize 的区别、增删查改操作(push_back、insert、erase)、自定义类型在 vector 中的存储,以及 vector 嵌套实现二维数组。所有示例均来自实战代码,注释完整

2026-06-05 16:41:39 576

原创 【C++】C++动态内存管理:new / delete完全指南

本文系统讲解C++中的动态内存管理,对比C语言的malloc/free与C++的new/delete的本质区别。内容包括:new/delete的基本用法(单个对象、对象数组)、new/delete与malloc/free的核心差异(是否调用构造/析构函数)、内置类型与自定义类型的不同行为、operator new的底层原理、定位new表达式(placement new)的使用场景、内存分配失败时的异常处理机制(try/catch捕获bad_alloc),以及new/delete匹配规则(new对应delet

2026-06-03 13:15:06 481

原创 【C+++】C++类和对象5:C++类型转换、初始化列表与static成员

本文深入讲解C++类中三个重要但容易混淆的特性:初始化列表(成员变量定义初始化的唯一入口)、隐式类型转换(内置类型到类类型的转换及explicit关键字)、static静态成员(属于类而非对象的成员变量和函数)。文章详细解释了:初始化列表与构造函数体内赋值的本质区别、const成员和引用成员必须在初始化列表中初始化的原因、成员初始化顺序由声明顺序决定而非列表顺序、单参数构造函数引发的隐式转换及explicit的禁止作用、静态成员变量必须在类外定义初始化的规则、以及静态成员函数无法访问非静态成员的限制。

2026-06-03 13:01:10 665

原创 【C++】C++类与对象2:C++构造函数、运算符重载与流输入输出全面解析

本文通过一个完整的Date类实现,系统讲解C++类的核心进阶特性。内容包括:构造函数的设计与使用(带缺省参数、合法性检查)、运算符重载的多种形式(+/-/+=/-=、前置/后置++/--、比较运算符、日期相减)、const成员函数的作用、友元函数的声明与使用(实现cin/cout的流插入提取)、以及复用原则(通过已实现运算符简化新功能)。

2026-06-01 12:32:23 473

原创 【Linux】URL:结构解析、编码规则与REST API设计实践

本文为URL协议学习笔记,系统讲解了URL的基本概念与完整结构,解析了URL编码规则与常见问题,分享了REST API URL设计的最佳实践,并梳理了URL安全注意事项与从输入URL到页面展示的完整流程,帮助初学者全面掌握URL的核心知识,规范网络开发中的URL使用,夯实网络编程基础。

2026-05-30 20:47:21 902

空空如也

空空如也

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

TA关注的人

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