- 博客(52)
- 收藏
- 关注
原创 类和对象(下)
尽量使⽤初始化列表初始化,因为那些你不在初始化列表初始化的成员也会⾛初始化列表,如果这 个成员在声明位置给了缺省值,初始化列表会⽤这个缺省值初始化。如果你没有给缺省值,对于没 有显⽰在初始化列表初始化的内置类型成员是否初始化取决于编译器,C++并没有规定。对于没有 显⽰在初始化列表初始化的⾃定义类型成员会调⽤这个成员类型的默认构造函数,如果没有默认构 造会编译错误。👉👉看下图即可:继 续 努 力。
2024-07-19 02:58:06
530
1
原创 C++入门基础(2)
✨✨引⽤不是新定义⼀个变量,⽽是给已存在变量取了⼀个别名,编译器不会为引⽤变量开辟内存空间,它和它引⽤的变量共⽤同⼀块内存空间。⽐如:⽔壶传中李逵,宋江叫"铁⽜",江湖上⼈称"⿊旋⻛";林冲,外号豹⼦头✨✨👉👉 类型& 引⽤别名 = 引⽤对象✨✨引用的出现代替了指针,对引用进行修改,就相当于对本名(引用对象)进行修改可以引⽤⼀个const对象,但是必须⽤const引⽤。const引⽤也可以引⽤普通对象,因为对象的访问权限在引⽤过程中可以缩⼩但是不能放⼤!!!!权限小了,也就是不能进行修改了。
2024-07-09 22:42:15
883
原创 C++入门基础(1)
👉namespace的作用就是定义一个作用域出来,这个域跟全局域各⾃独⽴不同的域可以定义同名变量✨有点类似结构体;关键字域名就是一个我们命名的空间,后面接一个 {} 里面相当于域内成员(命名空间成员)域名可以任取!!注意3个点:✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨在花括号结尾处不要加分号;改命名域只能在全局的位置定义,不能写在局部;但是它可以再里面继续嵌套命名空间域;域影响的是编译时语法查找⼀个变量/函数/ 类型出处(声明或定义)的逻辑,所有有了域隔离,名字冲突就解决了。
2024-07-09 20:52:00
874
原创 【每日一题】二进制中1的个数
✨写出来,有一个规律,那就是每一次 & 就会让你少一个0,为什么呢?🧑🎓十进制中 n和n-1差了一个 1,是不是从n开始,一直 n=的,在十进制下 15和下面的数依次相差 1 2 4 8 有没有发现一个规律 🤔👉。&1 可以检查最低位是0还是1 移位>>就可以控制最低位的位置,我们让最低位移动i位。✨二进制位就想到了按位操作符,和位移操作符都是对二进制位进行操作的。✨另外一个思路:n&(n-1) 这个思路才是应该学会的重点。✨ 思路:要求的是一个整形的数,其二进制的位数中有几个1。
2024-06-13 01:31:43
306
原创 【每日一题】错误的集合
先注意因为原数组只有一个数,所以先用一个变量将添加对象pos位等于1的异或起来,然后原数组pos位为1的异或起来,最后二者异或就能找到一只单身狗✨。✨最后一步是判断那只狗是存的重复的数,哪只狗存的丢失的数,数组要先放丢失的,用个假设法,遍历原数组看一下dog1是否再原数组,若不在就和dog2互换,然后依次存入新数组。✨审题:在一个1-n的数组中,会有一个元素重复,一个元素丢失;找到重复的元素和丢失的元素并放入一个数组中返还回去。,找2个单身狗,一个是重复的元素,另一个是丢失的元素🐸那么我是不是可以给。
2024-06-11 19:34:43
347
原创 【排序算法】归并排序
👉归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。
2024-06-05 00:52:37
694
原创 自定义类型
联合体特点:给联合体一个成员赋值,另一个成员的值也会跟着变化根据这一特点,那么我们计算它的变量大小,是不是要考虑到:它的大小至少是最大成员的大小,不然最大成员都保存不了,那不就是一个没有用的“东西”!用sizeof计算其大小,如下:在这里:用到了之前结构体中的内存对齐这个知识点,最大的int型为4个字节,VS中默认对齐数是 8 ,那么对于int 型的对齐数为 4(最大对齐数也是4) 所以申请的内存大小如下:但是,还有一种情况,最大成员大小的不是最大对齐数的整数倍时,就要创建到最大对齐数的整数倍。
2024-05-06 12:17:19
636
原创 让我们一起来领悟带环问题的核心思想
在环链表里面,两个人无论怎样都会相遇,爱情就是兜兜转转还是你,只能是你,该遇见的人迟早会相遇,遇不见的人一辈子也不会相遇了(非环状的链表,快指针到了NULL就结束了,她也就真的再也追不上了)
2024-05-04 22:53:18
170
1
原创 时间复杂度
其实就是将函数取极限值(无限趋于无穷大)进行比较,时间复杂度是O(N)因为趋于0的话,CPU运行速度很快,所以不能用->0进行比较时间复杂度;当然O越大说明需要花费的时间越多,时间复杂度越复杂,这个算法也就越差,一般情况下O(N^4)是不太可能的出现,因为运行时间太长,能写出这样的程序你可以全铺盖走人了值得注意的是:不要只看循环里面 i< N 这个表达式,因为我们算时间复杂度,看的是操作执行的次数,要用电子智慧哦!!!!!!!!!!!!!!!!!!!!!
2024-04-22 22:09:57
344
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人