- 博客(18)
- 收藏
- 关注
原创 庖丁解牛---C++继承
1.很多人说C++语法复杂,其实多继承就是一个体现。有了多继承,就存在菱形继承,有了菱形继承就有菱形虚拟继承,底层实现就很复杂。所以一般不建议设计出多继承,一定不要设计出菱形继承。否则在复杂度及性能上都有问题。2. 多继承可以认为是C++的缺陷之一,很多后来的OO语言都没有多继承,如Java。3.继承和组合① public继承是一种is-a的关系。也就是说每个派生类对象都是一个基类对象。组合是一种has-a的关系。假设B组合了A,每个B对象中都有一个A对象。
2023-12-12 13:26:03 1307 6
原创 C++---关于模板的那些事
一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。优点:1. 模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生2. 增强了代码的灵活性缺点:1. 模板会导致代码膨胀问题,也会导致编译时间变长2. 出现模板编译错误时,错误信息非常凌乱,不易定位错误。
2023-12-06 22:21:06 1237 7
原创 shell命令及运行原理 | linux权限
linux操作系统狭义上来说:linux内核广义上来说:linux内核+linux外壳和对应配套程序用户,shell和操作系统有什么关系呢,这里我们举个例子进行讲解实例root账号下的操作普通用户下的操作关于sudo,文章下面会提到,这里就不作举例了例:这里做几点说明下面我们举个例子— — —: 000(二进制) 0(八进制)r w —: 110 6r — —:100 4— — — — r
2023-11-28 22:35:43 924 1
原创 C++---string用法
如图,s1,s2,s3均为定义方法,但在输入字符串时若有空格不能直接cin,否则后面内容不会读入这里我们使用getline去读这里可以看见getline的功能。
2023-11-15 23:16:31 46
原创 C++----- 构造函数 | 析构函数 | 拷贝构造函数 | 运算符重载 | const关键字 | 友元函数
特性:1.C++为了增强代码得可读性,引入了运算符重载,运算符重载是具有特殊函数名得函数,其余和普通函数相似2.函数名为operator后面接需要重载的运算符3.函数样式:返回值类型 operator运算符(参数列表)
2023-11-12 18:48:18 67 1
原创 Linux--入门及基础指令(一)
比如/root/zx中,zx就是当前路径,root就是上级路径。2.新建完用户后,我们需要给该用户设置密码,这里我们需要输入。比较危险,就不演示了,如果误删了,可以去重装linux。这里以root账号为例: ssh root@公网IP。博主这里使用的是华为云自带的CloudShell。这里rm -rf ./移动(覆盖原始内容)
2023-11-09 22:12:56 36 4
原创 LeetCode -- 链表OJ题(三)
因为头节点有可能发生变化,使用虚拟头节点可以避免复杂的分类讨论;从 1 到 left , pre 节点往后移动;pre和cur节点不变。循环:遍历整个链表,将node指向的值覆盖,存储倒数第二个结点,删除最后一个结点即可。connect2中先连接左子树,接着连接右子树,最后连接左子树右孩子及右子树左孩子。此题要用一个全局变量来指向头节点,从而进行val相同或相异判断。非循环:讲next指向的值赋给node,接着跳过next。
2023-10-23 22:47:24 53 5
原创 LeetCode -- 链表OJ题(C语言解法)
由于输入的两个链表都是逆序存储数字的位数的,因此两个链表中同一位置的数字可以直接相加。我们同时遍历两个链表,逐位计算它们的和,并与当前位置的进位值相加。具体而言,如果当前两个链表处相应位置的数字为num1,num2 ,进位值为count,如果两个链表的长度不同,则可以认为长度短的链表的后面有若干个 0。结束遍历后,还要判断进位值是否为0,若不是,则需在创建一个结点存储count。
2023-10-16 23:48:37 102 6
原创 C++缺省参数及函数重载
是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同,常用来处理实现功能类似数据类型不同的问题。比如:以前有一个笑话,国有两个体育项目大家根本不用看,也不用担心。一个是乒乓球,一个是男足。前者是“谁也赢不了!”,后者是“谁也赢不了!自然语言中,一个词可以有多重含义,人们可以通过上下文来判断该词真实的含义,即该词被重载了。为什么C++支持函数重载而C语言不支持呢?
2023-10-14 21:15:31 52 5
原创 小白入门C++(一)
①、命名空间的普通定义//可以定义参数,也可以定义函数②、命名空间的嵌套定义int a = 0;③、若两个命名空间名称相同,则会合成同一命名空间中。
2023-10-10 22:19:04 93 9
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人