自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 内部碎片和外部碎片

内部碎片:内部碎片是已经被分配出去(能明确指出属于哪个进程)的内存空间大于请求所需的内存空间,不能被利用的内存空间就是内部碎片。外部碎片:外部碎片是指还没有分配出去(不属于任何进程),但是由于大小而无法分配给申请内存空间的新进程的内存空闲块。

2025-06-13 17:55:40 98

原创 c++中的四种强制类型转换

用于基本数据类型之间的转换,以及有继承关系的类指针/引用之间的转换。向上转换是安全的,但是向下转换是不安全的。如果对象本身不是const,那么可以通过const_cast去除指针的const_cast属性。:主要用于有继承关系的类指针/引用之间的安全向下转换。转换失败返回nullptr(指针)或抛出异常(引用):移除或添加指针的const/volatile限定符。四、reinterpret_cast。:用于任意指针类型间的低级别转换。不能用于无关类型指针间的转换。三、const_cast。

2025-06-02 19:44:45 404

原创 c++-单例模式

可以看出虽然调用了俩次函数但返回的是同一个对象。特点:延迟初始化,只有第一次调用时才创建实例。单例模式主要分为懒汉式和饿汉式。特点:类加载时就初始化实例。

2025-06-01 14:00:11 228

原创 深入理解C++多态:从原理到实践

多态(Polymorphism)是面向对象编程(OOP)的三大核心特性之一(封装、继承、多态),它允许我们以统一的接口处理不同类型的对象,从而提升代码的灵活性和可扩展性。本文将深入探讨C++中的多态机制,包括和,并通过代码示例帮助理解其应用场景。首先介绍一下什么是多态?多态的字面意思是“多种形态”,在编程中,它指同一个接口或操作在不同上下文中表现出不同的行为。二、

2025-05-22 22:15:13 762

原创 LeetCode---72.编辑距离

替换:我们可以将 word1[i-1] 替换为 word2[j-1],这样两个字符串的最后一个字符就相同了,然后问题就转化为了将 word1 的前 i-1 个字符转换成 word2 的前 j-1 个字符,所以需要的操作数是 dp[i-1][j-1] + 1。如果 word1 的第 i 个字符(即 word1[i-1])等于 word2 的第 j 个字符(即 word2[j-1]),那么这两个字符之间不需要任何编辑操作,因此 dp[i][j] = dp[i-1][j-1]。如果 word1[i-1]!

2025-05-16 15:17:03 967

原创 C++智能指针

weak_ptr不影响引用计数的共享智能指针.( 可以理解为 是shared_ptr 的助手.不能独立工作)不能独立工作 指的是 不能直接指向空间,只能接受 shard ptr 赋值,且weak ptr 通过 shared ptr 才能使用空间,为了避免auto_ptr稀里糊涂的就将空间使用权交出去,引入了unique_ptr,它是唯一所属权的智能指针,避免稀里糊涂的就将空间使用权交出去。平时我们使用的是裸指针,裸指针存在的问题是无法自动回收需要我们自己手动回收,如果忘记了回收就可能导致内存泄漏等问题。

2025-05-15 23:15:45 470

原创 LeetCode---152.乘积最大子数组

思路:用俩个dp数组来记录当前元素及以前的最大值和最小值,记录最小值的原因是如果最小值是一个负数那么它后面在乘上一个负数可能得到的值反而很大。从前向后遍历,如果当前元素是正数那么就乘上max_dp的上一个结果与当前元素比较,比较出来的最大值放入max_dp中。min_dp的结果的操作也类似,如果当前元素是负数那么就乘上min_dp的上一个的结果与当前元素比较将较大的值放入max_dp中,min_dp结果的操作也类似。

2025-05-15 11:45:06 452

原创 什么是虚拟内存

虚拟内存是计算机系统内存管理的一种技术,它通过软硬件结合的方式,使得应用程序认为自己拥有连续可用的内存空间(即虚拟地址空间),而实际上,这些内存可能分散在物理内存(RAM和磁盘(如硬盘或SSD)的交换文件(Swap Space)中。虚拟内存通过地址转换分页交换机制,使程序能够安全、高效地使用内存,是现代操作系统的核心功能之一。尽管存在一定性能开销,但其带来的隔离性扩展性和易用性使其不可或缺。

2025-05-14 23:18:03 534

原创 LeetCode---139.单词拆分

从递推公式中可以看出,dp[i] 的状态依靠 dp[j]是否为true,那么dp[0]就是递推的根基,dp[0]一定要为true,否则递推下去后面都都是false了。如果确定dp[j] 是true,且 [j, i] 这个区间的子串出现在字典里,那么dp[i]一定是true。所以递推公式是 if([j, i] 这个区间的子串出现在字典里 && dp[j]是true) 那么 dp[i] = true。dp[i] : 字符串长度为i的话,dp[i]为true,表示可以拆分为一个或多个在字典中出现的单词。

2025-05-14 16:16:07 477

原创 HTTPS加密过程

HTTPS是在HTTP协议基础上通过TLS/SSL层实现加密的安全传输协议,解决了HTTP明文传输易受攻击的问题。它结合了对称加密和非对称加密的优势,确保数据的机密性、完整性和身份认证。加密过程包括TCP三次握手建立连接,TLS/SSL握手协商密钥,以及使用会话密钥进行对称加密传输数据,最后关闭连接并丢弃会话密钥以保证前向安全性。

2025-05-13 23:47:02 1014

空空如也

空空如也

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

TA关注的人

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