自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++智能指针

​:智能指针的核心价值是通过​。

2025-06-10 11:50:12 665

原创 C++前置自增(自减)VS后置自增(自减)

当用于类对象(如迭代器)时,性能差异更明显:// 迭代器示例(伪代码)public:// 前置版本(高效)// 后置版本(低效,需构造副本)// 创建旧值副本++(*this);// 调用前置版本实现// 循环中推荐使用前置it!++it) { // 优先用 ++it// 比 it++ 节省临时对象构造开销。

2025-06-06 15:01:28 327

原创 C++类型转换

【代码】C++类型转换。

2025-06-06 14:33:38 398

原创 C++ 可拷贝类型、可移动类型

char* data;public:// 深拷贝if (this!char* data;public:// 置空源对象,防止资源释放if (this!​​五大特殊成员函数​​:构造函数、析构函数、拷贝构造、拷贝赋值、移动构造、移动赋值(后两者是C++11新增)。​​三大法则(Rule of Three)​​:若需自定义 ​​析构函数​​、​​拷贝构造​​ 或 ​​拷贝赋值​​ 中任意一个,通常需自定义全部三者(避免资源泄漏)。​。

2025-06-05 11:28:51 733

原创 C++ explicit关键字

​,仅在深思熟虑后对需要自然类型转换的类(如字符串)开放隐式转换权限。关键字用于声明构造函数或类型转换运算符,​。​:在单参数/多参数构造函数中​。​,避免产生歧义和错误。

2025-06-04 19:42:46 116

原创 C++函数指针

在C++中,​​是一种指向函数的指针变量,允许在运行时动态选择并调用不同的函数。它为代码提供了更高的灵活性和可扩展性,常用于回调机制、策略模式等场景。与数据项相似,函数也有地址。函数的地址是存储其机器语言代码的内存的开始地址,对于用户来说这些地址并不重要,但是对于程序来说非常有用。可以编写将另一个函数的地址作为参数的函数,这样第一个函数将能够找到第二个函数并且允许它。与直接调用另一个函数相比,这种方法很笨拙,但是允许在不同的时间传递不同的地址,这意味着可以在不同的时间使用不同的函数。在C++中,​。

2025-05-21 17:39:40 400

原创 搜索引擎原理

根据一定的策略、运用特定的计算机程序从互联网搜索信息,在对信息进行组织和处理之后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统。

2025-05-18 16:24:33 392

原创 C++指针和自由存储空间

在计算机程序存储数据时必须要跟踪的3种基本属性:1、信息存储在何处 2、存储的信息是什么类型 3、存储的值是多少我们最常用的策略就是定义一个简单变量,例如int a=1,在声明语句的时候就指出了值的类型、符号名和值,还让程序为这个变量分配内存。还有另外一种策略,这种策略以指针为基础,指针是一个变量,其存储的是值的地址,而不是值本身。(这里涉及到内存地址这一概念,是计算机组成原理、操作系统特别重要的一个知识,这里就不多赘述)

2025-05-17 21:12:05 975

原创 c++枚举类型

C++中的enum工具提供了一种可以替代const创建符号常量的方式,还允许定义新类型。Red就等于0,Green等于1,Blue等于2。

2025-05-17 20:01:24 266

原创 C++ 函数和数组

在c++中,当前仅当用于函数头或者函数原型中,int*arr和int arr[]的含义才是相通的,都意味着arr是一个int指针。在其他的上下文中,int*arr和int arr[]的含义并不相同,例如不能在结构体中用int tip[]来声明指针。在进行参数传递时,并没有将全部的数组内容传递给函数,而是只传递了数组的地址、包含的元素类型、元素数量。在进行遍历数组时,使用指针加法和数组下标是等效的。因此函数传递的是地址,由于数组的类型为int,因此array的类型必须是int指针,机位int*。

2025-05-17 12:16:11 212

原创 JAVA并发编程

进程:程序的一个实例。大部分程序可以同时运行多个实例进程(记事本、IDEA、浏览器等等),也有一些程序只能启动一个实例进程(360安全卫士、网易云音乐等等)。线程:一个进程中可以分一到多个线程。一个线程就是一个指令流,将指令流中的指令按一定顺序交给CPU执行。二者对比:进程:1、进程是资源分配的最小单元2、进程之间是相互独立的3、进程间的通信较为复杂:同一计算机的进程通信称为IPC、不同计算机之间的通信需要通过网络,遵守共同的协议,如HTTP线程:1、线程是最小的调度单元。

2025-04-20 16:49:02 823

原创 两个线程交替打印0-100内的奇数和偶数

存在的问题:在一个线程执行完一次循环的操作后,仍然会尝试获取锁,但是此时它不应该获取锁(因为a此时一定不满足其执行的条件),可以通过wait、notify来改善。方法一:直接粗暴的使用synchronized加锁。方法二:wait notify改进代码。这样能够保证两个线程依次获取锁。

2025-03-22 12:36:14 137

原创 java反射入门小练习

不适用new创建对象。基于反射实现一个用户登录的小功能。

2025-02-03 16:55:36 77

原创 java字符串常用函数(附带源码可直接复制运行)

【代码】java字符串常用函数(附带源码可直接复制运行)

2025-01-28 23:09:53 88

原创 23种设计模式学习笔记(附带源码和测试代码)连载中。。

对于getInstance函数来说,绝大部分的操作都是读操作(取出instance),所以读操作的线程安全的,只有写操作(创建instance)是线程不安全的,但是我们在调用getInstance函数的时候其实只会执行一次写操作,其他的读操作是允许不同线程同时执行的。若简单粗暴的使用加锁的方法来实现线程安全,同时只能有一个线程执行读操作,其他线程即使想读也得乖乖等待,会导致效率低下。单例模式,顾名思义就是这个类只能有单个实例对象被创建,并且这个类提供了访问这个唯一实例对象的方法,不需要实例化该类的对象。

2025-01-01 16:53:28 836

原创 Linux系统虚拟机远程连接Windows系统(保姆级教程,两种方法 FinalShell或vscode)

会出现需要配置的信息,名称可以填写自己喜欢的名称,主机就填写在准备工作中记录下来的ip地址,端口号不需要修改,备注可以不填,用户名填写你的虚拟机的名字,密码添加你的虚拟机的密码。下载完成后会在刚刚点击的拓展下面出现一个远程资源管理器,点击远程资源管理器,点击SSH右边的齿轮,再双击config文件进行配置。点击左上角的蓝色文件夹图标,再点击新出现的窗口的左上角的白色带加号的文件夹图标,选择SSH连接(Linux)我们点击那三个点,再点击保留、仍然保留,信任此项目进行下载。以下是windows的下载地址。

2024-08-21 22:06:13 2045

原创 快速幂quickpow

快速幂算法,功能相当于<cmath>库中的pow()函数 ,时间复杂度为log(n)。可用于解决大数的取模运算。

2024-07-30 10:36:22 160

空空如也

空空如也

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

TA关注的人

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