自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++中的特殊类设计方法与类型转换

本文主要介绍了几种特殊类的设计思路:不能被拷贝;只能在栈/堆上创建对象;不能被继承;只能创建一个对象(设计模式:单例模式)并对其中的单例模式两种实现思路进行了介绍。然后对内置类型与自定义类型直接设计共四种类型转换提供了思路;最后单独介绍了C++11对强制类型转换进行的四种规范函数

2025-03-30 16:10:09 564

原创 C++中的异常和智能指针

本文介绍了C++中的异常以及配合异常而生的智能指针,通过对比C语言中的错误码,总结了异常的优点;又通过分析异常的抛出-匹配规则,归纳了异常的缺点;然后针对缺点提出了简单的智能指针处理方案,接下来介绍了C++11库中的auto_ptr,unique_ptr,shared_ptr三种不同的智能指针,并介绍了内存泄露

2025-03-26 16:51:10 682

原创 C++11新增内容详解(三)

本文主要介绍C++11中新增的lambda表达式和包装器,并分别通过例子对他们两个的功能进行了说明,结合捕捉列表的原理,lambda的底层实现来进一步了解了他们的机制:围绕仿函数做各种封装,以此降低书写难度

2025-03-20 16:20:42 861

原创 C++11新增内容详解(二)

本节主要介绍了C++11中新增的两个成员函数:移动拷贝和移动构造,并对他们的功能进行了描述,然后提到了default和delete以及final和override这两对C++11新增的关键字,最后对可变模板参数的用法,使用举例进行了详细介绍

2025-03-16 15:18:59 660

原创 C++11新增内容详解(一)

本节介绍了C++11中新增的几种用法,包括初始化列表,列表初始化,decltype读取数据以及之前就提到过的nullptr和新容器,然后着重介绍了左值引用和右值引用相关问题,阐述了他们解决的问题以及编译器为此做出的努力,然后就这个问题简述了移动拷贝和移动构造,并补充了完美转发解决类模板中的左值与右值问题

2025-03-11 10:36:37 806

原创 Linux中gcc编译器的使用与自动化构建工具make/makefile

本节首先介绍了gcc编译器的使用方法,并结合编译的具体过程阐述了其选项;然后介绍了动态链接和静态链接相关内容,分析了他们各自的优缺点;最后详细介绍了Linux中的自动化构建工具make和makefile,通过分析他们的本质,语法,使用等来加深理解,最后通过一个简单的倒计时程序来汇总提到的内容

2025-02-28 10:51:45 576

原创 Linux中的权限问题(二)

本节介绍了Linux中权限部分余下的问题,包括文件拥有者和所有组更改方式,rwx权限对于目录的影响,新建目录或文件时的权限掩码以及粘滞位目录的信息,此外还解释了yum指令的作用以及更改yum源的方式,最后介绍了代码编辑器vim,着重介绍命令模式,底行模式中的操作,并对vim配置的方法进行了简要描述

2025-02-18 16:35:15 820

原创 Shell原理简介与Linux中的权限问题

本文首先简要介绍了shell是什么和shell的运行原理,然后就Linux中的权限问题展开描述:介绍了更换用户的指令su,提权指令sudo,接着描述了三种访问者:拥有者,所属组和other,最后提出了两种文件权限属性改变的方法

2025-02-10 10:10:39 935

原创 Linux中系统相关指令

本文着重介绍了Linux中系统相关的指令:date,cal,find,which,grep,zip和unzip,tar,bc,uname等并简述了时间戳,指令的本质,别名,ll和ls的区别,打印系统进程的方式等问题

2025-02-05 10:17:01 1038

原创 Linux中的基本指令(二)

本文介绍了Linux文件相关指令中的六个基本指令:mv,cat,more,less,head和tail,并介绍了输入重定向<,输出重定向>以及管道的概念

2025-02-03 09:30:51 858

原创 Linux中的基本指令(一)

本文主要介绍了Linux中的几个基本指令,包括ls,mkdir,touch,pwd,cd,rmdir,rm,man,cp以及其他的简单指令,如tree,nano,cat,ll等,同时补充了在Linux中书写并运行C语言程序的方法

2025-01-19 21:37:08 1104

原创 浅谈操作系统与初识Linux

本节主要介绍Linux的产生相关的问题,简要描述了操作系统的概念与Linux中登陆相关的几个基本指令

2025-01-18 17:00:31 636

原创 C++中的unordered_set和unordered_map的模拟实现

本文介绍了unordered_set和unordered_map模拟实现过程中的封装和细节问题,着重介绍了与map和set封装的不同之处与处理办法

2025-01-15 21:17:10 801

原创 C++中的unordered_set,unordered_map,哈希表/散列表以及哈希表的模拟实现

本节首先介绍了unordered_set和unordered_map,然后借此引出了哈希/散列和哈希表/散列表的概念;然后着重分析了哈希表这一数据结构,提到了哈希函数和哈希冲突处理方法这两个概念,再分别介绍了常用的哈希函数:直接定址法和除留余数法,常用的哈希冲突处理:闭散列开放定址法(线性探测,二次探测)和开散列哈希桶法,同时就如何支持多种类型的key来使用的问题,以string为例进行了详细分析

2025-01-11 22:45:48 1067

原创 C++中map和set的封装

本文主要通过对STL中map和set的的源码分析来理顺它们的封装逻辑,同时对rbtree进行了一些针对于map和set的功能拓展,完成了对一个可以正常插入的map和set的模拟实现

2025-01-05 20:46:18 1015

原创 C++中的红黑树

本节主要介绍了平衡二叉搜索树中的红黑树:通过节点颜色控制树的平衡,主要分析了红黑树的插入逻辑,同时介绍了检验是否为红黑树的逻辑

2024-12-29 10:28:56 756

原创 C++中的AVL树

本节对平衡二叉搜索树——AVL树进行了分析,其中插入的逻辑是主要内容,详细介绍了AVL树的旋转情况,还提到了调试可以用到的一些技巧

2024-12-18 17:34:28 679

原创 map和set题目练习

本节是map和set题目练习的思路汇总,包括随机链表的复制,循环链表的判断,前k个高频单词的截取,还对异地容灾备份的常识进行了普及

2024-12-17 17:30:30 525

原创 C++中的set和map

本节主要介绍C++的stl中的map,mutimap和set,multiset容器,介绍了序列式容器和关联式容器的概念,详细介绍了map中[]的逻辑与用途;同时介绍了键值对pair的概念,提到了结构化绑定配合pair书写代码的方式

2024-11-30 10:34:09 624

原创 C++实现二叉搜索树

本文介绍了二叉搜索树的概念以及实现一个简单的二叉搜索树的逻辑,然后对二叉搜索树部分特性进行了讨论,最后总结了一下搜索的方法,提出了key和key/value两种模型,并大致介绍了多组输入的底层部分原理

2024-11-22 11:30:40 594

原创 C++中的多态

本文介绍了C++中的多态,主要内容是动态多态,列出了虚函数重写的条件,并把重载,重写,重定义进行了对比,着重介绍了析构函数这一特殊的重写函数,简述了final和override关键字;之后讲述了纯虚函数是什么?抽象类是什么?虚表是什么?虚函数的存储原理以及动态绑定,静态绑定相关定义,最后介绍了多继承当中指针偏移这一现象

2024-11-15 14:33:20 1041

原创 C++中的继承——第二篇

本文介绍了继承部分的知识,包括友元与静态成员是否可以被继承的问题,多继承是什么,菱形继承是什么,以及菱形继承的解决方法虚继承,最后介绍了继承和组合的概念,并进行了对比,延伸简述了黑箱测试和白箱测试的观点用来比较has-a与is-a的关系

2024-11-04 20:43:19 973

原创 C++中的继承——第一篇

本文介绍了C++当中的继承,阐述了private继承时子类中不可见的问题,又介绍了赋值兼容转换相关事宜,复习了C语言中截断与提升的语法,同时提出隐藏(又名重定义)的相关问题,最后对子类中的六个默认成员函数的处理进行了介绍,特殊问题中提到了类不能被继承的关键字final与静态成员的继承问题

2024-11-02 16:03:04 697

原创 C++中模板的进一步理解

本文介绍了模板当中的非类型模板参数及其出现的原因,容器array,提到了在类外使用如iterator等可能含有歧义部分时typename辅助指定的问题,再介绍了模板的全特化,半特化以及半特化中的特殊存在:指针特化与引用特化,最后介绍了函数模板声明与定义的不建议分离的问题与类模板声明与定义分离的情况,并对模板的优缺点进行了总结

2024-10-31 21:31:05 759 1

原创 C++中的stack,queue,deque和priority_queue

本位简述了stack和queue逻辑的独特解决方案:适配器,初步了解了设计模式的概念,更深层次对比了面向过程和面向对象的区别,提出了C语言实现“伪封装”的方法;介绍了deque这一容器实现的底层逻辑,头插尾插和下标访问经历的过程;介绍了优先级队列(堆),简述了什么是仿函数,仿函数的作用以及特点

2024-10-26 18:45:04 1202

原创 C++中list的使用与实现

本文介绍了STL容器list的使用,简单介绍了unique,assign,splice等特殊功能,接下里介绍了list的模拟实现过程,详细讨论了迭代器类出现的原因,实现的过程,迭代器类中特殊的重载符号->,const迭代器类的出现原因与改善,++begin可以运行通过的原因,std中迭代器与实现区别的大致介绍,传数组指针来构造的兼容原理等

2024-10-26 11:06:36 1138

原创 浅谈计算机存储体系和CPU缓存命中

本文简述了计算机存储的分层,链表和顺序表优缺点中CPU快速缓存的知识,理清内存,缓存,硬盘,寄存器,CPU的关系

2024-10-22 22:42:00 328

原创 C++中的vector使用与实现

本文介绍了vector使用和实现的问题,包括string可不可以放到模板里,vector的vector可不可以,reverse中的深浅拷贝,强制生成默认构造函数,string的范围for传参,sort的降序排法,迭代器失效问题,vector的find问题,initializer_list是什么

2024-10-19 17:28:37 687 2

原创 C++中的内存管理和模板初识

本文对C++中的new与delete这两个新增的资源管理操作进行了分析,初步介绍了函数模板与类模板的概念以及简单用法,还有定位new表达式相关介绍

2024-09-10 19:49:01 968

原创 C++中的类和对象——第四篇

本位介绍了类和对象中的初始化列表,内置类型赋值给类类型的隐式类型转换过程,静态成员变量,静态成员函数的情况,又补充了一些小知识点如友元类,内部类,匿名对象,编译器自动优化等等

2024-09-10 13:48:34 767

原创 C++中的类和对象——第三篇

本文介绍到了C++剩下的3个默认成员函数:赋值重载,取地址以及const取地址运算符重载函数;也介绍了运算符的重载,cout的深度解析,友元函数简介,const作用于成员函数等内容

2024-08-31 22:50:45 789

原创 蓝桥杯做题模板及其解释

蓝桥杯中的几个小技巧,告诉你个模板

2024-08-31 22:47:07 536

原创 C++中的类与对象——第二篇

本文主要介绍了C++类中6中可自动生成函数中的三种:构造函数,析构函数和拷贝构造函数。

2024-08-28 15:06:51 1161

原创 C++中的类与对象——第一篇

本文是类与对象部分的第一篇,介绍了类和对象是什么?this指针是什么?类中定义变量和函数的几个默认习惯。

2024-08-28 15:06:33 426

原创 C++中的内联函数,auto,范围for以及nullptr

本文主要介绍了C++中的内联函数,auto,范围for以及nullptr,同时对C语言中的宏,typedef进行了复习。

2024-07-07 17:39:39 994

原创 C++的函数重载和引用类型

本文介绍了C++中的函数重载和引用类型,并对为什么C++支持函数重载而C不支持的问题以及引用和指针类型在const修饰下权限变更问题进行了深入剖析

2024-07-05 22:47:00 821

原创 C++的命名空间、输入输出以及缺省参数

文章介绍了C++中的命名空间,对iostream的初步理解,对C++输入输出的简介,以及对缺省参数也就是默认参数的分类

2024-07-03 20:55:59 518

原创 数据结构:排序

本文主要介绍了数据结构排序中六种常见的排序:冒牌,选择,插入,希尔,堆排序和快速排序

2024-06-22 10:37:12 820

原创 树的几条性质(二叉树为主)

汇总了数据结构中树的一些基本特点

2024-06-17 20:18:46 193

原创 C语言代码实现贪吃蛇(控制台程序)

在VS2022的控制台程序中,通过一系列的操作来实现贪吃蛇小游戏

2024-03-25 11:44:37 1658

空空如也

空空如也

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

TA关注的人

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