自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ -- string常用接口的底层实现

1. string是表示字符串的字符串类,对C语言的字符串指针进行了包装。2. 该类的接口与常规容器的接口基本相同,有增删查改等,再添加了一些专门用来操作string的常规操作。

2024-06-05 16:56:47 449 1

原创 模版初阶(泛编程)

class 类模板名// 类内成员定义// 动态顺序表// 注意:Vector不是具体的类,是编译器根据被实例化的类型生成具体类的模具public :, _size(0){}// 使用析构函数演示:在类中声明,在类外定义。~Vector();// 注意:类模板中函数放在类外进行定义时,需要加模板参数列表if(_pData)3.2 类模板的实例化。

2024-04-25 12:19:57 758 6

原创 C/C++内存管理(new、delete和malloc、free的区别)

malloc如下new如下可知new在malloc上的基础上调用了构造函数free如下delete如下可知delete在free上的基础上调用了析构函数new的原理1.调用operator new函数申请空间2. 在申请的空间上执行构造函数,完成对象的构造delete的原理1. 在空间上执行析构函数,完成对象中资源的清理工作2. 调用operator delete函数释放对象的空间new T[N]的原理。

2024-04-24 19:13:29 924 4

原创 【C++】赋值运算符重载 const 友元

比如上述Time类和Date类,在Time类中声明Date类为其友元类,那么可以在Date类中直接访问Time类的私有成员变量,但想在Time类中访问Date类中私有的成员变量则不行。那就不能是类的成员函数,但如果放在类外面定义,那就不能访问类内的成员变量了,这时就要利用我们的友元函数了。,const修饰类成员函数,实际修饰该成员函数隐含的this指针,表明在该成员函数中。类内成员变量,但友元可以让他们实现,非常的方便,但方便的同时,都可以是另一个类的友元函数,都可以访问另一个类中的非公有成员。

2024-04-13 20:00:29 793

原创 重定义默认参数怎么办??(C++版本)

是因为如下定义和声明都会进行int x = 0, int y = 0;这个操作,导致定义了俩次;直接报错,所以规定好了在声明时加默认值就好。ps:c++有些语法抽象点,记住就好了。时给相应的默认值足够了。如果只在定义时给呢?有没有遇到过这样的问题,用。

2024-04-08 21:16:01 532 2

原创 构造函数 析构函数 拷贝构造函数

内置类型就是语法已经定义好的类型:如int/char...,自定义类型就是我们使用class/struct/union自己定义的类型,看看下面的程序,就会发现编译器生成。构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,保证每个数据成员都有 一个合适的初始值,并且在对象的生命周期内只调用一次。,需要注意的是,构造函数的虽然名称叫构造,但是需要注意的是构造函数的主要任务并不是开空间创建对象,而是。:相同函数名,参数不同(个数,类型,类型顺序,有其一即可,与返回值无关)

2024-03-31 22:36:08 1035 1

原创 C++ 类和对象(上)——类和对象的概念 类的限定符 this指针

/ 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字className为类的名字{}中为类的主体注意类定义结束时后面分号。类中的元素称为类的成员:类中的数据称为类的属性或者成员变量;类中的函数称为类的方法或者成员函数。类的两种定义方式:1.声明和定义全部放在类体中,需要注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。2.声明放在.h文件中,类的定义放在.cpp文件中(一般采用)

2024-03-30 22:39:43 1653

原创 内联函数 auto 基于范围for循环 空指针nullptr

因为inline被展开,就没有函数地址了,链接就会 找不到。这就是为什么f(NULL)和f(0)的结果是一样,而nullptr解决了这个问题。要开辟空间消耗栈要花蛮多时间,而内联函数不要开辟和消耗栈,以空间换时间的处理方式。,编译时C++编译器会在调用内联函数的地方展开,没有函数压栈的开销,让我们一起学习C++知识叭,如果有错误,可以指点指点我噢。(和其他循环一样,可以用break停止,也可以用continue)了,导致在main中没有声明,所以报错。很像,都是在编译时调用的地方展开,

2024-03-27 17:43:00 1799

原创 C++ 引用传递 超级详细 小白也行

这时 Int& 的属性是可以用可以改的,而10不能改,见过 10 = a 吗?引用的&放在类型名(int)后面,而取地址的&是放在变量前面(例如图中的&a)。引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它 引用的变量共用同一块。2. 引用在初始化时引用一个实体后,就不能再引用其他实体,而指针可以在任何时候指向任何一个同类型 实体。5. 引用自加即引用的实体增加1,指针自加即指针向后偏移一个类型的大小。,俩边都是Int 只能用不能改类型,所以可以执行成功。

2024-03-26 20:16:16 2518

原创 C++ 缺省函数 函数重载 引用

是因为类型不同,所以中间有一个类型转换,int 转 doble会先建立一个double的临时变量,这个临时变量是具有常属性所以前面加一个const也变成常属性类型就ok啦。C在编译后形成的汇编语言的函数名不会记入参数,而C++在汇编后的汇编语言会带入参数类型,个数,顺序。展示截图 C只有孤零零的add,而C++的add函数前面有个数,后面有类型。将a取个别名,就像是在取小名一样,俩个名字指着同一个人,这个就是ra 和a共用一个地址一个内容。可以缺少参数的函数(自带参数,可传也可以不传),

2024-03-24 23:46:41 411 2

原创 C语言小白错误笔记

而上题中arr是一个字符数组,不是一个有效的字符串,因为后面没有放置'\0',因此strlen在求解时,将有效字符检测完之后,还会继续向后检测,直到遇到'\0'是才终止,因此答案为不确定,就看紧跟在't'之后的第一个'\0'在什么位置。strlen获取的规则非常简单:从前往后依次检测,直到遇到'\0'是就终止检测。strlen是用来获取字符串的有效长度的,结尾标记'\0'不包含在内。下面代码的结果是:( )

2024-03-24 11:59:54 115 2

原创 C 字符串逆序

gets_s(arr,100)(VS2015以上版本 C++文件已经改成这种形式。:left开始是指向arr为首地址元素的地址,right开始是arr + sz -1为arr最大项的地址;俩边一直交换,交换到最后刚刚好,或者只剩中间元素,那就不用交换了,left 和right一直是对称的。创建并输入,写一个函数,然后用俩指针将最左边的和右边的相互替换。由图可知 无论输入字符串多少,sz都会等于创建时的大小。我已经替大家踩过雷了。.创建exc函数进行交换(exc为交换英语缩写).输出代码 (完整代码如下)

2024-03-07 08:36:36 174 1

原创 大一新生对于编程学习的认识

c.今天的事情今天做,每天坚持在gitee打卡。在博客总结自己的学习成果和困惑的点。这样记录自己的代码学习情况能得到一个正反馈更有劲的学习。a.首先大学和高中是完全不一样的,大学的学习需要自己主动去学,不能等,等不到好的结果。学校的老师讲的内容如果不适合自己,那可以自己找资源去学习。b.找最有名的机构学习。跟着中国顶尖的老师学的会事半功倍。在大二暑假去找一份与代码相关的工作。d.最后就是如果可以要找个搭子,别强带人上路,在路上找人才是明智的选择。我目前是江西一所双非的本科院校的大一学生。

2024-01-16 21:21:38 424

空空如也

空空如也

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

TA关注的人

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