自定义博客皮肤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)
  • 收藏
  • 关注

原创 【C++】解析C++面向对象三要素:封装、继承与多态实现机制

C++面向对象编程的三大核心要素是封装、继承和多态。

2025-05-15 20:59:27 1097

原创 【C++】深入理解模板:从基础到实践

C++模板是泛型编程的核心工具,自1991年首次引入以来,已成为现代C++开发中不可或缺的特性。通过模板,开发者可以编写类型无关的通用代码,显著提升代码复用性和性能。本文将系统解析模板的机制,并通过实际案例展示其强大能力。

2025-03-23 12:00:41 825

原创 【C++】深入理解list迭代器的设计与实现

在STL容器中,list作为经典的双向链表容器,其迭代器设计体现了C++模板编程的精髓。本文将深入探讨如何从零开始设计一个符合STL规范的list迭代器,揭示其背后的设计哲学和技术细节。

2025-03-22 21:39:11 496

原创 【C++】深入理解vector容器模拟实现中迭代器设计与陷阱

在C++ STL中,迭代器(Iterator)是链接容器与算法的桥梁。它提供了一种统一的访问容器元素的方式,是的算法可以独立于容器实现。对于vector这种连续内存容器,迭代器的实现本质是原生指针的封装,但在模拟实现时仍会遇到诸多陷阱。本文将围绕如何正确实现vector迭代器展开分析,并揭示常见问题与解决方案。

2025-03-22 16:21:26 339

原创 【C++】深入理解字符串类拷贝构造与赋值操作的陷阱

在C++中,管理动态内存的类(如自定义字符串类)必须谨慎处理拷贝构造函数(Copy Constructor)和赋值操作符重载(Copy Assignment Operator)。默认的浅拷贝行为会导致严重的运行时问题,本文将通过代码实现揭示这些陷阱,并给出解决方案。

2025-03-22 11:14:15 1088

原创 【Linux】Linux操作系统用户权限解析

Linux作为一款多用户、多任务的操作系统,其权限管理机制是系统安全的核心基石。无论是个人开发者还是企业运维人员,理解Linux用户权限的设计原理和操作方法都至关重要。本文将从用户与组的概念入手,逐步解析文件权限、管理命令及实际应用场景,帮助读者构建清洗的权限管理知识体系。

2025-03-09 13:45:56 900

原创 【C++】深入理解C++模板:从原理到实践

C++模板是泛型编程的核心工具,它允许开发者编写与类型无关的代码。然而,模板的实现机制和编译过程往往令人感到神秘。

2025-03-09 10:49:09 606

原创 【C++】深入理解C/C++内存管理

在系统级编程中,C/C++因其直接操作内存的能力而备受青睐,但这也意味着开发者需要承担内存管理的责任。内存泄露、段错误(Segmentation Fault)和悬空指针等问题往往源于对内存管理机制理解不足。本文将深入探讨C/C++内存管理的关键机制、常见陷阱等。

2025-03-08 22:30:57 717

原创 【C++】深入理解const成员

在C++中,const关键字是类型系统的重要组成部分,尤其在类成员的设计中扮演关键角色。通过合理使用const成员,开发者可以显著提升代码的健壮性、可维护性和安全性。本文将探讨const成员函数、const成员变量的核心特性和应用场景。

2025-03-03 21:56:33 533

原创 【C++】类与对象:深入理解默认成员函数

C语言是面向过程的语言,强调函数和结构化编程,而C++在兼容C语言的基础上,增加了面向对象编程、泛型编程等特性。

2025-03-03 20:27:35 1072

原创 【C++】命名空间的作用

在大型项目中,随着代码量的不断增长,命名冲突问题不可避免。C++的命名空间(namespace)机制正式为了解决这一问题而设计的。本文将详细探讨C++命名空间的基本概念、解析过程以及一些常见的使用技巧。

2025-03-03 13:26:11 750

原创 【C】归并排序非递归的下标越界问题

归并排序(Merge Sort)作为算法领域的常青树,始终在排序算法领域占据重要地位。本文将从核心思想、算法实现到复杂度分析,全方位剖析这一经典的分治算法,并通过C语言代码实现。

2025-02-22 10:34:13 787

原创 【C】二叉树的遍历

本文将系统讲解二叉树的前序遍历、中序遍历、后序遍历和层序遍历,使用C语言递归方式实现。

2025-02-21 22:06:27 936

原创 堆的向上调整和向下调整

堆的逻辑结构是一种完全二叉树,物理结构是数组,满足堆序性质:最大堆:父结点值≥子结点值(根结点为最大值)。最小堆:父结点值≤子结点值(根结点为最小值)。

2025-02-21 20:56:27 563

原创 【C】快速排序的三种思想

快速排序(Quick Sort)是一种高效的排序算法,采用分治法策略。其核心思想是通过选取一个基准元素,将数组分为两部分:一部分小于基准,另一部分大于基准,然后递归地对这两部分进行排序。

2025-02-20 21:56:17 800

原创 【C】数据结构线性表特点

线性表(Linear List)是数据结构中最基础、最常用的逻辑结构之一,几乎所有程序都会直接或间接地使用它。本文将深入探讨线性表的核心概念、实现方式、操作原理以及应用场景,帮助读者构建系统化的知识体系。

2025-02-15 12:33:13 677

原创 【C】输入输出函数比较

在C语言中,printf和scanf函数是经常被使用的,scanf可以从中接受数据,printf可以向中打印数据,都是属于IO操作。C语言中,IO操作不只这两个函数。

2025-02-06 21:09:53 819

原创 【C】宏函数VS函数

宏函数的作用和函数有些许类似,但本质上还是不一样的。

2025-02-05 20:35:02 782

原创 【C】堆区动态内存开辟

在C语言中,堆区(Heap)内存是由程序在运行时通过调用内存分配函数申请的。与栈区(Stack)和静态区(Data segment)不同,堆区的内存管理由程序员手动控制。动态分配的内存不会自动释放,必须显式地释放。

2025-02-05 17:54:11 710

原创 【C】结构体内存对齐和大小端存储

结构体内存对齐的核心是空间换效率,理解对齐规则有助于优化内存布局。通过合理排列成员、利用编译指令和工具验证,可以在内存占用和性能之间找到平衡。

2025-02-04 15:13:18 963

原创 【C】memcpy VS memmove

memcpy和memmove是C语言标准库中用于内存块复制的两个核心函数,它们在功能上高度相似,但涉及目标和实现机制有本质区别。

2025-02-03 17:55:05 387

原创 【C】指针解析

在C语言中,指针是核心概念之一,提供了直接操作内存的能力。

2025-02-02 13:44:26 887

原创 【C】计算机中浮点数的存储方式

计算机中的浮点数存储遵循IEEE 754 标准,它定义了浮点数的二进制表示方式。

2025-01-31 15:55:39 997

原创 【C】static关键字

static意为静态的。在C语言中可以修饰局部变量、全局变量和函数。

2025-01-31 14:55:09 410

C语言实现扫雷游戏(二维数组)

使用C语言二维数组,创造棋盘,实现扫雷小游戏开发。

2023-09-05

C语言实现通讯录操作(文件操作)

综合使用C语言的动态开辟空间,文件操作等方法,制作一个通讯录工程项目。

2023-09-05

空空如也

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

TA关注的人

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