自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 函数的返回值和传入参数选择 -- 指针与引用

函数返回值和函数传入参数在使用指针亦或是引用如何选择以及诸多需要注意的问题

2023-07-04 14:07:51 1520 8

原创 浅析declval关键字

本文详细讲解 declval 特性和使用场景,它允许我们在不实例化对象的情况下使用其类型。这在模板元编程中尤其重要,因为它使得我们能够在编译时进行类型推导,而无需关心对象的构造。

2024-05-23 21:13:16 603

原创 模板中的右值引用(万能引用)、引用折叠与完美转发

本文通过详细的案例,循序渐进的讲解万能引用、引用折叠、完美转发。这三个概念之间的联系紧密以及使用场景高度重合,正是因为C++11中提出如此富有意义的新概念,极大地方便了我们重构代码,理想高效地编码实现功能。

2024-05-23 21:07:25 782

原创 位图bitset的模拟实现与位运算

本文探讨C++中的位操作与位图bitset,通过介绍bitset和two_bitset类模板,将展示如何利用C++的位操作来解决实际问题,位图为处理大量数据提供了一种高效且直观的方法,无论是在内存受限的环境中处理大规模数据集,还是在日常编程中寻找优化的机会,都是一个不可或缺的工具。

2024-05-17 02:31:14 964

原创 一文搞懂左值与右值兼左值引用和右值引用(附右值引用的移动语义)

本文循序渐进的结合案例阐释左值引用和右值引用概念,同时解释为什么存在、怎么样使用的问题,尤其着重与对不同使用场景下用途的剖析。

2024-05-17 02:25:20 780

原创 面试题6 -- 腐烂的苹果(多源DFS)

本文讲述如何使用BFS来模拟腐烂的传播过程,算法时间复杂度为O(m*n)。通过维护一个队列来存储需要传播的苹果位置,并且二维数组来标记已经访问过的位置,以避免重复处理。通过逐层传播,我们可以确保每个苹果都是以最短的时间腐烂。

2024-04-23 11:47:21 685

原创 笔试题5 -- 约瑟夫环问题

本题分别利用STL中的vector和list给出约瑟夫环遍历和解题思路,同时给出了优化程序运行时间的重要步骤。

2024-04-23 11:40:44 260 1

原创 笔试题4 -- 除2!(k次机会偶数除2求最小和)

当操作次数 k 较大时。通过优先队列处理得到最大的偶数,我们能够显著减少所需的操作次数,从而在给定的时间限制内找到最小的和,所以此处priority_queue优于multiset的处理效率。

2024-04-18 18:11:00 470

原创 笔试题3 -- dd爱框框(滑动窗口内值加和大于x的最小区间)

对于这道题尝试了三种不同的方法,其中滑动窗口可以很好的解决重复遍历的浪费,保证了时间复杂度为O(n),分别使用两个指针控制访问数组的节奏,不走回头路,最大程度的实现了提升算法效率。

2024-04-18 18:04:42 735

原创 笔试题2 -- 字符串数组中指定字符串间的最短距离

本文探讨了两种不同的基于C++解题方法。从基本的暴力法到更高效的优化算法,我们不仅学习了如何实现它们,还了解了如何分析它们的性能,并在实际应用中做出合适的选择。

2024-04-16 22:44:50 360

原创 笔试题1 -- 吃掉字符串中相邻的相同字符(点击消除_牛客网)

本文对于点击消除相邻字符的问题给出了两种不同的解决方案,分别基于 string::erase() 函数和 stack 数据结构实现,并分析了两者的优劣。

2024-04-16 22:37:33 733

原创 解决VScode中git push代码报错“Missing or invalid credentials.”

简单的步骤完美解决了vscode中git push报错的问题,实现一劳永逸

2024-04-13 23:26:56 439

原创 【动态规划】路径问题模型

本文从基础的不同路径问题开始,逐步深入到更复杂的最小路径和等问题,每个例题详细介绍状态表示、状态转移方程、初始化过程、填表顺序和返回值,以确保读者能够清晰地理解DP的核心原理。

2024-04-13 23:22:26 980

原创 剖析C++中的多态

深度剖析了C++多态性的深层次概念,包括虚函数、继承、final和override关键字,以及虚函数表和虚表指针。通过具体的代码示例,我们将揭示这些概念背后的工作原理,并展示它们如何在实际编程中发挥作用。

2024-04-09 19:08:06 900

原创 何为C++中的协变

本文深入探讨了C++中的协变特性,包括其定义、构成条件,以及在克隆操作和设计模式中的应用实例。协变允许派生类在重写基类虚函数时返回派生类类型的指针或引用,从而提供了更精确的类型信息和更灵活的代码设计可能性。

2024-04-09 10:33:24 343

原创 剖析C++中的继承

本文将从概念开始讲解继承的规范、特性以及不同情况下的注意点,包括赋值转换、作用域问题、默认函数调用问题、友元函数、静态成员等,希望本文对你能够有所帮助。​ 继承一定程度破坏了基类的封装,基类的改变,对派生类有很大的影响。派生类和基类间的依赖关系很强,耦合度高。

2024-04-04 11:33:56 1091

原创 剖析C++中的菱形继承

本文通过实例代码和内存监视图解析了菱形继承的问题,并介绍了虚拟继承作为一种解决方案。通过将基类声明为虚基类,我们可以确保在派生类中只有一个基类实例,从而避免了数据冗余。

2024-04-04 11:17:39 307

原创 模版的全特化与偏特化

本文将详细介绍类模板与函数模板的全特化和偏特化,利用其可以为特定类型或条件创建专门的模板实现,从而提高代码的效率和准确性。

2024-03-30 19:10:35 956

原创 解决ubuntu报错“Failed to start sshd.service Unit sshd.service not found.”

开启ssh服务时报错找不到“sshd.service”,通过一句代码解决

2024-03-30 19:02:30 1083 1

原创 【动态规划】斐波那契数列模型

深入探讨斐波那契数列模型相关问题的解决方法,通过精心挑选的例题,每个问题都将通过状态表示、状态转移方程、初始化、填表顺序和返回值的详细分析来解构,旨在提供一个清晰的算法实现框架,帮助读者掌握DP的精髓,并在实际编程中灵活运用。​

2024-03-29 01:16:53 869

原创 C++的非类型模板参数与模板分离编译(模板显式实例化)

​本文章绍了C++中的非类型模板参数和模板分离编译的概念。非类型模板参数是模板中的常量参数,可以在模板中当作常量使用。模板分离编译是将程序分为多个源文件进行单独编译生成目标文件,然后将目标文件链接为单一的可执行文件。文章还介绍了解决模板分离编译问题的方法,包括模板显式实例化和重新定义普通函数。

2024-03-29 01:10:43 891

原创 string类的详细模拟实现

本文详细介绍从零开始实现String类,新手友好,包含扩容逻辑、避免溢出、隐含参数、声明定义分离范式,以及丰富的操作实现细节详解,同时指出易错注意点

2024-03-23 21:07:45 1097

原创 一文打尽CentOS网络报错(亲测)

无论是ping不通,还是ping报错:name or service not known,或是git拉取失败,统统可以通过本文的方法解决,故记录自己修复的全过程,也希望能帮助到他人。

2024-03-23 20:52:27 373

原创 浅析C++的指针与引用

引用的使用可以一定程度避免“指针满天飞”的情况,对于提升程序稳定性也有一定的积极意义。同时指针与引用底层实现都是一样的,不用担心两者的性能差距。

2024-03-14 19:45:14 1069

原创 浅析decltype关键字

深入探讨decltype的基本用法、规则以及它如何提高我们代码的可读性和灵活性。它提供了一种类型安全的方式来推导变量和表达式的类型。

2024-03-14 19:41:37 959

原创 浅析extern关键字

C++ 和C语言在编译和链接的过程中有一些区别,需要使用 extern 关键字来解决一些问题。本文将介绍 extern 关键字的作用和用法,以及如何在 C++ 中调用C函数和在C中调用 C++ 函数的方法和注意事项。

2024-03-07 16:51:29 1198

原创 浅析assert宏

首先断言(assert)是宏,而非函数。assert 宏的作用是如果它的条件返回错误,则终止程序执行。assert 宏的优点是可以在开发和调试阶段快速发现和定位程序中的错误,提高代码的可测试性和可靠性。

2024-03-07 16:39:58 992

原创 浅析volatile关键字

volatile 关键字声明的类型变量表示可以被某些编译器未知的因素(操作系统、硬件、其它线程等)更改,每次访问时都必须从内存中取出值(没有被 volatile 修饰的变量,可能由于编译器的优化,从 CPU 寄存器中取值)const 可以是 volatile(如只读的状态寄存器)指针可以是 volatile。

2024-03-04 23:57:38 883

原创 浅析虚函数的vptr和虚函数表

C++使用一种称为虚拟表的特殊形式的后期绑定,该虚拟表是用于解决在动态/后期绑定方式的函数调用函数的查找表,本文对虚表指针和虚函数表的模型进行刻画。

2024-03-04 00:15:00 354

原创 浅析this指针

this指针是一个自引用指针,通常用于指向对象自身。本文将深度探讨this指针的核心特性、注意要素、应用场景和相关案例。

2024-03-03 13:04:30 800

原创 浅析 explicit 关键字

explicit 修饰构造函数时,可以防止隐式转换和复制初始化explicit 修饰转换函数时,可以防止隐式转换,但按语境转换除外。

2024-03-03 04:00:00 803

原创 单、多参数构造函数的隐式类型转换

在C++中,构造函数不仅用于初始化对象的状态,还可以实现隐式类型转换。本文详细介绍了单参数和多参数构造函数的隐式类型转换技术和explicit关键字的作用。

2024-02-26 21:36:10 879

原创 C++之善用const修饰成员函数

介绍一些在类中善用const修饰成员函数的案例,以及相应的代码示例。通过善用const修饰成员函数,我们能够在C++代码中提高代码的可维护性、可读性,并且更好地支持类的设计和重载。

2024-02-26 15:28:08 361

原创 C++中获取成员函数地址的方法

总结了两种目前最高效易用的方法来获取成员函数地址,其中第一种利用函数模板实现,第二种直接在 .cpp 文件中利用汇编方法的offset语句实现。​ 至于为什么要取成员函数的地址?因为可以通过一定手段使得成员函数作为回调函数,而无需使用全局的静态函数。

2024-02-17 15:41:45 854 2

原创 命名空间(namespace)及其应用技巧

演示了如何在不同命名空间中定义变量和自定义类型,并展示了它们的使用方法。介绍了C++中命名空间的基本概念、使用方法以及与变量交互的关系。

2024-02-04 14:10:42 1088

原创 仅需这条指令解决 sudo 报错或将用户添加到 sudoers

不需要 nano、vim 这类的编译器,也不需要 chmod 更改 /etc/sudoers 文件只读权限,只需要控制台终端在 root 用户情况下输入这串代码即可简便快捷地解决你的问题

2024-01-28 22:17:57 398

原创 Linux 用户和用户组管理命令汇总

详细列举了关于增删改查用户及用户组的各种指令,现将其总结以便查阅

2024-01-28 16:11:55 1081

原创 Linux / CentOS下利用终端调节音量

利用 alsamixer 工具打开可视化窗口调节Linux系统音量,并解决实现过程中出现的报错问题

2024-01-24 16:28:10 739

原创 Linux 常用指令汇总

全面介绍了Linux系统中常用的命令,包括文件目录、时间日期、搜索查找和压缩解压缩等方面。通过具体的案例演示,读者可以快速学会如何在Linux终端下进行文件的管理和系统操作。

2024-01-09 18:45:49 1535 1

原创 利用C语言模拟实现堆的基本操作和调堆算法

主要讲述了堆的基本原理和特性,使用C语言模拟实现堆的初始化、插入、删除等基本操作,通过回调函数和函数指针实现大根堆和小根堆的不同调堆算法,堆的应用场景和优势等内容

2023-12-11 13:59:39 343

利用C++及其多态实现的职工管理系统

利用C++及其多态实现的职工管理系统

2023-07-23

通讯录管理系统(C语言)

由于太过久远,刚学语言的时候写的,并不是很好,但是课设要求的增删改查操作都有,也算是麻雀虽小但是五脏俱全,简单应付大一C语言课设应该是没有什么问题

2023-07-22

空空如也

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

TA关注的人

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