自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C/C++内存分布以及相比于malloc,C++中new和delete优点

C++ 的new和delete提供了更强的类型安全、自动管理资源和异常处理机制,使得 C++ 在面向对象编程上更为高效和安全。这些特性使得 C++ 推荐使用new和delete进行动态内存管理,而不使用 C 的malloc和free。

2024-08-04 17:51:24 550

原创 函数模板与类模板

函数重载,如果一个同名函数有多个定义,那么在调用时的优先级如何? 1.同时有普通函数和模板函数,优先匹配普通函数+参数匹配 2.没有普通函数,优先匹配参数匹配+函数模板 3.只有一个,类型转换也能用,也可以匹配调用如图所示://分享一下优秀课件

2024-08-01 13:13:45 174

原创 动态规划3行代码快速解决约瑟夫环问题

举个例子n个人从0排序到n-1,随机给一个数为m,从0开始报数到m次到编号为m-1的人,m-1的人出局,再次从编号为m的人开始报数m次,2m-1的人出局,不断进行这个循环直到最后的赢家诞生,这是经典的约瑟夫环问题。并且:dp[1] = 0;有i人的约瑟夫环的胜者编号。相当于+1-n,所以。

2024-07-20 15:53:47 209

原创 简明理解动态规划5步解题流程

一般来说使用动态规划手段解决问题在我们遇到重复子问题计算并且有着最优路径选择等问题时,我们常常要考虑多个方面并比较或重复计算,例如计算斐波那契数列时if n

2024-07-17 17:02:45 275

原创 C++实现动态堆栈类

2024-05-26 16:25:52 443

原创 C++日期类的实现

2024-05-08 12:43:18 99 1

原创 C++构造函数 +初始化列表| 析构函数 | 拷贝构造函数保姆级入门

构造函数是特殊的成员函数。

2024-05-06 20:56:14 711 3

原创 C++中引用类型转换时的权限,内联函数,auto使用

那么此时,auto类型就是int类型。

2024-05-02 15:30:07 430 1

原创 c++命名空间的使用

命名空间中声明的实体被称为命名空间的成员,成员的名字会自动由命名空间的名字限定,例如universe命名空间的两个成员名字分别为universe::a,universe::rand。不同用户可以声明各自的命名空间。

2024-04-16 14:28:40 893

原创 数据结构——栈队列基础操作的代码实现

队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(First In First Out)的线性表,简称FIFO。允许插入的一端称为队尾,允许删除的一端称为队头。空队列:不包含任何元素的空表。队列的常见基本操作//初始化//队列的销毁// 入队列// 出队列最先进入队列的值最后进入对列的值判空取大小2.2 .代码实现。

2024-03-03 03:15:29 580

原创 带头双向循环链表的增删查改

对如图所示的带头双向链表进行操作,head为哨兵位,不记录有效数据。

2024-01-26 00:21:13 93 1

原创 简要理解c语言程序编译和链接

通常在我们写好c程序后,使用编译器直接编译运行即可,但是就像如此简单的一句程序gcc test.c同样有其深入复杂的原理,深入理解他们有助于我们更好的理解程序编译执行的过程。通常,这过程细分共有四步,预编译(又叫预处理),编译,汇编,链接。即正常本来是编译和执行,但编译部分又被分为了预编译,编译,汇编三部分。同时编译进行的环境我们叫做翻译环境,执行文件在电脑上的环境称作执环境,现在让我们细节的简要直白展示一下编译的过程。(想要了解更多相关知识可以参考《程序员的自我修养一书》)我们写c语言程序的时候,不知道大

2024-01-15 23:08:42 1585

原创 C语言深入理解指针--从零基础到深入理解

对比以下两端代码,主要在调试时观察内存的变化可以发现左侧代码是将每个地址对应空间内的值都改为了0,而右侧代码只是将首地址中的值改为了0,那么结论:指针的类型决定了,对指针接引用的时候有多大的权限(一次能操作几个字节)比如:char*的指针解引用只能访问一个字节,而int*的指针解引用能访问4个字节。

2023-11-29 19:04:24 1504 1

原创 求一个数二进制数中1的个数的三种方法

例如我们求十进制的数n的每一位的时候通常会模10然后再除以10循环得到每一位直到n为0时循环停止,代码如下:然此法也有缺陷,即当n为负数时,例如-1,第一次进入if判断不成功再除以2后直接n变成0退出循环,故而我们需要对此进行改进,因为负数在内存中是以补码的形式存储,而-1的补码为: 11111111111111111111111111111111共三十二位1,我们只需另函数接收时以无符号整型接收;如图:我们知道二进制的最后一位如果是0那么与1按

2023-11-05 19:40:41 130

原创 c语言初阶——分支与循环语句

大家发现到这两种写法有什么区别了吗,没错是条件判断部分变了,正是我前文提到的。

2023-10-25 14:07:32 79 1

空空如也

空空如也

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

TA关注的人

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