C++
文章平均质量分 96
记录在学习C++编程过程中,对于重点知识的系统总结
DjangoJason
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++数据结构 : 二叉搜索树
二叉搜索树(BST)是一种高效的数据结构,通过有序的树形存储实现快速查找、插入和删除操作。其核心特性是:左子节点的值 ≤ 当前节点值 ≤ 右子节点的值。本文将详解BST的原理、实现及应用,包括基础操作、性能分析,以及`key`和`key/value`两种模式的代码实现,帮助你在实际开发中灵活运用这一结构。原创 2025-05-27 19:48:03 · 1058 阅读 · 0 评论 -
C++11 : 智能指针
智能指针不仅能够有效避免内存泄漏,还能简化代码逻辑,提升程序的健壮性和可维护性。C++11标准库提供了多种智能指针类型,包括unique_ptr、shared_ptr和weak_ptr,分别适用于不同的资源管理场景。本文将详细介绍智能指针的使用场景、设计原理、标准库实现以及常见问题(如循环引用和线程安全),并通过丰富的代码示例帮助读者深入理解其工作机制和最佳实践。原创 2025-06-02 19:59:40 · 790 阅读 · 0 评论 -
C++数据结构 : 哈希表的实现
哈希表(Hash Table)是一种高效的数据结构,它通过哈希函数将键(Key)映射到存储位置,从而实现平均时间复杂度为O(1)的快速查找、插入和删除操作。本文将详细介绍哈希表的核心概念,包括哈希函数的设计、哈希冲突的解决方法(开放定址法和链地址法),并通过C++代码实现一个完整的哈希表。无论你是初学者还是希望深入理解哈希表内部机制的开发者,本文都将为你提供清晰的理论指导和实用的代码示例。原创 2025-05-27 20:45:06 · 1437 阅读 · 0 评论 -
C++数据结构 : map和set的使用
关联式容器中,map和set是最常用的两种,它们基于红黑树(一种平衡二叉搜索树)实现,提供了高效的增删查改操作,时间复杂度为O(log n)。set是纯关键字(key)的集合,适合需要快速判断元素是否存在的场景;map则是键值对(key-value)的集合,适合需要通过关键字快速查找对应值的场景。此外,multiset和multimap是它们的变体,支持重复关键字的存储。本文将详细介绍map和set的基本用法,包括构造、遍历、增删查改等操作,并通过丰富的代码示例帮助读者掌握这些容器的核心功能。原创 2025-05-27 20:01:45 · 908 阅读 · 0 评论 -
C++11
C++11 是 C++ 语言的一次重大更新,引入了许多现代化特性,显著提升了开发效率和代码性能。本文深入解析了 C++11 的核心特性,包括列表初始化、右值引用与移动语义、可变参数模板、`lambda` 表达式、包装器等,并结合代码示例和底层原理分析,帮助读者掌握这些特性的使用场景与实现机制。无论是初学者还是经验丰富的开发者,都能从中获得对 C++11 的全面理解,从而编写更高效、更现代的 C++ 代码。原创 2025-05-27 21:13:49 · 1152 阅读 · 0 评论 -
C++异常
在程序开发中,错误处理是确保代码健壮性的关键环节。C++ 通过异常机制提供了一种强大的错误处理方式,它允许开发者将错误检测与处理逻辑分离,使代码更加清晰和模块化。相较于传统的错误码返回方式,异常机制能够携带更丰富的错误信息,并通过调用栈展开实现跨函数边界的错误传递。本文将详细介绍 C++ 异常的概念、使用方法、标准库异常体系以及异常安全等核心内容,帮助你掌握这一重要的编程技术。原创 2025-05-27 21:28:21 · 1083 阅读 · 0 评论 -
C++ list类
在C++标准库中,list是一个非常重要的容器类,它实现了双向链表的数据结构。本文将详细介绍C++中list的使用方法,包括其构造函数、迭代器、容量操作、元素访问以及修改操作等。此外,我们还将探讨list的迭代器失效问题,并通过模拟实现一个简单的list类来深入理解其底层工作原理。最后,我们将对比list与vector的优缺点,帮助读者在实际开发中根据需求选择合适的容器。原创 2025-03-14 21:42:27 · 1339 阅读 · 0 评论 -
C++ stack和queue类
C++标准库(STL)为我们提供了stack和queue的现成实现,使得开发者无需从头编写这些数据结构,可以直接使用它们来处理各种问题。本文将详细介绍stack和queue的基本概念、使用方法以及如何模拟实现它们。此外,我们还将探讨priority_queue(优先队列)和deque(双端队列)的相关知识,帮助读者更好地理解这些容器适配器的底层机制和适用场景。原创 2025-03-14 19:14:22 · 840 阅读 · 0 评论 -
C++ vector类
在C++编程中,`vector`类是标准模板库(STL)中常用的容器类型之一,它能够动态管理元素的集合,提供高效的存储和访问能力。与数组不同,`vector`的大小是动态可扩展的,它能够根据需要自动调整容量,以适应不同规模的数据。在这篇博客中,我们将深入探讨C++ `vector`类的使用方法、功能以及内部实现,帮助你更好地理解如何利用`vector`高效地处理数据。我们还将讨论一些常见的问题,如空间增长、迭代器失效等,并给出实际的代码示例来加深理解。原创 2025-03-11 16:29:42 · 998 阅读 · 0 评论 -
C++ 类和对象
在本文中,我们将深入探讨C++中的类与对象,了解如何定义类、创建对象、使用构造函数与析构函数,并探索类的继承、多态等高级特性。无论你是C++的新手还是经验丰富的开发者,希望本文能为你提供关于类与对象的清晰理解与实用指南。原创 2025-02-15 21:07:18 · 256 阅读 · 0 评论 -
C++ 多态
在面向对象编程中,多态是一个非常重要的概念。它允许我们通过统一的接口来处理不同类型的对象,从而增强了代码的灵活性和可扩展性。C++ 中的多态性主要通过虚函数来实现,它使得程序能够在运行时根据对象的实际类型来调用相应的函数,而不是在编译时确定。在本篇博客中,我们将深入探讨 C++ 中多态的概念、实现方式、虚函数的使用、以及多态背后的底层原理。通过代码示例和详细解释,您将能够全面理解多态在 C++ 中的应用及其重要性。原创 2025-03-17 12:47:10 · 975 阅读 · 0 评论 -
C++ 模版
本篇博客将深入探讨C++模板的核心概念,包括函数模板、类模板、非类型模板参数、模板特化等内容,并结合实例解析模板的工作原理及应用场景。无论是初学者还是有经验的开发者,都能通过本文更深入地理解C++模板的强大功能,助力编写更高效、灵活的代码。原创 2025-03-14 18:17:33 · 1235 阅读 · 0 评论 -
C++ String类
本篇博客将深入探讨C++ `string`类的常用接口、容量管理、遍历与修改操作,并对其内部实现机制进行剖析。同时,我们还将介绍 `auto` 关键字和范围 `for` 语法,使代码更加简洁和现代化。此外,文章还涵盖了 `string` 在不同编译环境下的实现差异,并通过模拟实现 `string` 类,帮助读者更深入理解其底层原理。原创 2025-03-10 20:08:06 · 1309 阅读 · 0 评论 -
C++内存管理
本篇博客将系统性地介绍C++的内存管理机制,包括内存分布、动态内存分配方式、`new`和`delete`的底层实现原理,以及`malloc/free`与`new/delete`的区别等内容。希望通过本篇文章,让读者深入理解C++的内存管理策略,并能够在实际开发中高效、安全地管理内存。原创 2025-03-03 22:09:25 · 938 阅读 · 0 评论 -
C++ 继承
在本篇博客中,我们将深入探讨 C++ 中的继承机制,涵盖继承的基本概念、访问控制、派生类的构造与析构、多继承及其潜在问题(如菱形继承),以及继承与组合的区别与应用场景。通过丰富的代码示例和详细的解释,我们将帮助你全面理解 C++ 继承的方方面面,并掌握如何在实际项目中合理使用继承来构建高效、可维护的代码结构。原创 2025-03-17 12:43:19 · 970 阅读 · 0 评论 -
C++(超详细讲解)| 初识C++
在这一篇初识C++的文章中,我会给大家带来一些我们经常用到的C++小技巧,并将其和C语言进行对比,让大家有更具象化的认识。我的目标是通过循序渐进的学习,让大家在享受编程乐趣的同时,掌握C++的核心知识,并能够独立编写出功能完善的程序。原创 2024-08-02 13:18:32 · 2108 阅读 · 0 评论
分享