自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jack黄从零学c++的博客

关注我,跟我一起从零学c++

  • 博客(49)
  • 问答 (1)
  • 收藏
  • 关注

原创 设计模式——策略模式(c++)

策略模式是一种灵活的设计模式,可以帮助我们在不改变环境类的情况下,轻松地替换和添加新的策略。通过合理运用策略模式,可以有效地提升代码的可维护性和可扩展性。

2024-11-12 14:13:36 245

原创 C++ 的异常处理详解

异常是指程序在执行过程中出现的意外情况。当代码发生错误时,程序会停止执行并返回特定的数据。C 语言中只能通过返回值来处理错误,而 C++ 则允许程序员通过异常机制更方便地管理错误。在 C++ 中,您可以接收自己返回的值或系统返回的值,根据返回数据的类型不同,执行相应的错误处理逻辑。除了标准异常外,开发者还可以自定义异常类,以满足特定需求。public:自定义异常类可以包含更多上下文信息,便于错误追踪和调试。

2024-11-06 09:13:41 864

原创 智能指针详解

智能指针的使用提升了C++的内存管理效率。理解不同类型智能指针的适用场景和特性,对编写高效且安全的C++代码至关重要。

2024-11-06 08:53:42 1001

原创 自制C++线程池工具介绍

通过实现上述的Queue和ThreadPool类,我们构建了一个简单的 C++ 线程池。线程池采用了顺序队列来管理任务,并通过互斥锁和条件变量实现了线程间的安全通信。这种设计既可以提高系统资源的利用率,又可以简化并发任务的管理。通过自制的线程池工具,你可以更加高效地处理并发任务。在实际项目中,可以根据具体需求对线程池的功能进行扩展和优化,如加入线程回收、任务的优先级管理等,提升线程池的灵活性和适用性。

2024-10-31 16:07:33 291

原创 C++中的重载、覆盖、隐藏与重写的区别

C++面试常问问题,重载、覆盖、隐藏、重写的区别?

2024-10-31 14:42:55 335

原创 多重继承二义性的解决方法

当一个类继承了多个父类时,称为多重继承,会按照继承表的顺序在子类中排列父类的内容,当把子类指针对象转换为父类指针时,编译器会自动计算出该父类内容所在的位置,并让指针偏移到该位置,因此,可能会出现转换后的父类指针与转换前子类指针不相同的情况。当使用 virtual 关键字修饰继承表时,此时变成虚继承,此时子类中就会多一个虚指针用于指向父类的内容,当这个子类被继承时,孙子类中也会继承该虚指针,并且通过虚指针比较是否含有多份相同的祖先类,如果有则只保留一份。

2024-10-30 14:53:22 383

原创 单调队列—————力扣239题

今天讲一种数据结构----单调队列。其实就是队列的特殊版本。队列里面的数,要么递增,要么递减。

2024-10-30 14:06:57 302

原创 C++中的引用详解

引用在C++中提供了一种更加安全和简洁的变量访问方式,尤其在函数参数传递时展现了高效性。然而,在某些严谨的场景中,指针仍然是不可或缺的工具。理解指针与引用的相同点和不同点,对于写出高效和安全的C++代码至关重要。希望本篇文章能帮助你更好地理解C++中的引用及其应用场景。

2024-10-16 14:29:02 344

原创 mallocfree和newdelete的区别

列出malloc/free与new/delete的区别

2024-10-16 14:06:02 265

原创 自制线程池

封装一个自己的线程池,方便以后开发使用

2024-10-12 13:57:41 209

原创 利用线程池和网络动态库实现多人聊天室

此聊天室实现了基本的多人聊天功能,使用服务器转发消息给其他客户端,结合线程池提高并发处理能力。你可以在此基础上扩展更多功能,比如昵称验证、聊天记录保存等。

2024-10-12 12:28:52 311

原创 epoll+边缘触发linux服务器

【代码】epoll+边缘触发linux服务器。

2024-09-27 10:48:31 159

原创 epoll的条件触发与边缘触发

在使用epoll进行 I/O 复用时,了解条件触发和边缘触发的区别非常重要。

2024-09-26 14:50:28 441

原创 linux中实现多路复用服务器

了解多路复用

2024-09-25 10:50:29 404

原创 五子棋对战(网络版)

五子棋对战(网络版)

2024-09-20 16:16:03 415

原创 自制网络连接工具(支持tcpudp,客户端服务端)

对常用的tcp/udp协议过程进行封装成共享库

2024-09-20 16:00:41 761

原创 实现进程间通信的几种方式

了解进程间通信的几种方式

2024-09-03 15:17:23 892

原创 检测入栈出栈顺序是否正确的算法解析

笔试常考题,检查入栈出栈顺序是否正确

2024-08-28 17:34:42 543

原创 使用C语言读写结构体数据并保存到文件

这段代码展示了如何使用C语言将结构体数据保存到文件,并从文件中读取并展示数据。这种方法适用于简单的数据保存需求。

2024-08-26 17:31:06 761

原创 使用C语言实现文件内容的裁剪

这个程序展示了如何使用C语言进行文件内容的裁剪操作,通过移动文件内容并使用ftruncate函数截断文件实现。该程序在处理文件时考虑了错误处理和边界检查,确保了操作的安全性和稳定性。

2024-08-26 17:20:54 538

原创 使用C语言实现文件拷贝并处理错误

模仿linux 系统命令cp

2024-08-26 16:56:55 422

原创 内存管理与进程映像概述

内存管理与进程映像

2024-08-21 14:46:06 582

原创 静态库与共享库详解

在开发和使用 C 语言编写程序时,库文件(Library)是一个重要的组成部分。库文件是目标文件的集合,可以被其他代码调用。

2024-08-16 11:27:02 927

原创 数据结构算法题2

【代码】数据结构算法题

2024-08-15 17:37:01 283

原创 数据结构算法题1

设计程序按从大到小的次序依次输出函数f(a,b)=2*a2+b2的最小的100个函数值及相应的两个参数的值,其中a和b均为自然数。

2024-08-14 11:23:32 523

原创 常用排序算法的实现与介绍

在计算机科学中,排序算法是非常基础且重要的一类算法。本文将通过C语言代码实现,介绍几种常见的排序算法,包括冒泡排序、选择排序、插入排序和快速排序。以下是这些排序算法的具体实现和简要介绍。

2024-08-02 15:57:08 518

原创 邻接表的实现

邻接表的实现完整代码详解

2024-07-30 15:33:21 440

原创 图的创建和遍历

图是一种重要的数据结构,用于表示节点之间的关系。在本篇文章中,我们将介绍如何创建图并实现深度优先搜索(DFS)和广度优先搜索(BFS)算法。

2024-07-29 15:59:11 485

原创 数据结构之树知识总结

关于树的知识总结

2024-07-26 16:16:39 1107

原创 平衡二叉树(AVL树)介绍及实现代码详解

平衡二叉树,又称AVL树,是一种自平衡的二叉搜索树。通过保持平衡,AVL树可以确保在最坏情况下的查找、插入和删除操作的时间复杂度为O(log n)。

2024-07-25 11:29:48 518

原创 实现一个基于数组的大根堆

当频繁需要使用一组数据最大或最小数据时,大根堆和小根堆可以解决

2024-07-23 15:06:45 451

原创 有序(顺序)二叉树的实现

有序二叉树的中序遍历刚好就是从小到大,所以有序二叉树也是一种排序算法,查找又天然是二分查找,所以经常考

2024-07-19 08:58:07 1216

原创 关于树以及二叉树的相关性质

二叉树的性质

2024-07-18 10:18:21 344

原创 实现二叉树的链表结构

通过本文的介绍,我们了解了如何使用链表来实现二叉树的数据结构,并实现了一些基本的操作。

2024-07-18 10:06:09 539

原创 C语言用顺序表实现二叉树

通过本文,我们详细介绍了如何使用顺序表实现二叉树,并展示了构建二叉树、遍历、计算高度和密度、插入和删除节点等功能的实现。

2024-07-16 16:31:07 218

原创 队列的实现与应用

队列是一种重要的数据结构,在实际编程中具有广泛的应用。通过本文的介绍,希望读者能够更加深入地了解队列的实现和应用。

2024-07-15 09:59:02 245

原创 使用万能指针实现通用链表

通过以上代码示例,我们实现了一个通用链表,可以存储任意类型的数据。通过使用函数指针和万能指针,我们实现了对不同类型数据的存储和操作。这种通用链表的设计可以在实际开发中提供更大的灵活性和可扩展性。

2024-07-15 08:54:33 1090

原创 通用链表的创建

如何创建通用链表,通过链表检索到不同类型的元素

2024-07-11 14:59:55 404

原创 面试笔试常考的关于链表的题

面试笔试常考的关于链表的题

2024-07-10 15:51:39 397 1

原创 双向循环链表介绍与实现

双向循环链表是一种常见的链表数据结构,相比单链表多了一个指向前驱节点的指针,使得可以双向遍历链表。在循环链表中,最后一个节点的后继节点指向第一个节点,第一个节点的前驱节点指向最后一个节点,形成一个环形结构。

2024-07-10 14:20:20 471

空空如也

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

TA关注的人

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