c++
文章平均质量分 79
详细介绍c++
你们叫她小龙女么
主要记录学习历程,加油加油加油加油加油
展开
-
类和对象(中)
我们_array是通过malloc开辟空间的,这时候我们发现,传参的时候s仅仅只是将s1中_array变量中储存的地址拿了过去,只是将main栈帧里面存的东西原模原样复制到func2栈帧中而已,他们的_array中存的都是指向堆区的同一块空间的指针。2.不会处理内置类型的成员,例如int double...,是随机值,所有指针,包括自定义类型的指针也都是内置类型,一般会初始化为nullptr。注意,全缺省的函数与无参的函数,在语法上构成函数重载,但是在实际调用时会产生错误,因为编译器不知道调用哪一个。原创 2024-07-14 23:52:50 · 988 阅读 · 1 评论 -
C/C++内存管理
但是new和delete最重要的功能还是用来处理自定义类型,malloc无法很好支持动态申请的自定义对象的初始化class Apublic:: _a(a)_a = a;int main()//自定义类型,开空间+调用构造函数初始化//自定义类型,调用析构函数+释放空间delete p2;delete p3;//也支持一次定义多个对象//多个对象的初始化1. A a1(1);A a2(2);2. //使用匿名对象。原创 2024-07-20 10:10:05 · 635 阅读 · 0 评论 -
类和对象(上)
但是c++中更喜欢使用class,主要原因在4.访问限定符中讲// 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。类的两种定义方式:1. 声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器会将其当成内联函数处理。原创 2024-07-12 23:01:16 · 896 阅读 · 1 评论 -
c++模板初识
class 类模板名// 类内成员定义/ 动态顺序表// 注意:Vector不是具体的类,是编译器根据被实例化的类型生成具体类的模具public :, _size(0){}// 使用析构函数演示:在类中声明,在类外定义。~Vector();// 注意:类模板中函数放在类外进行定义时,需要加模板参数列表if(_pData)原创 2024-07-20 12:32:44 · 674 阅读 · 3 评论 -
类和对象(下)
目录一、再谈构造1.初始化列表2.c++11中,可以在声明的时候给缺省值3.构造的优化现象4.c++11支持多参数的隐式类型转换5.explicit可以禁止隐式类型转换6.匿名对象二、static成员三、四、友元1.友元函数2.友元类五、内部类一、再谈构造1.初始化列表初始化列表:以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个"成员变量"后面跟一个放在括号中的初始值或表达式。class Date{原创 2024-07-19 09:28:46 · 857 阅读 · 0 评论 -
C++入门基础知识
这两个函数属于传值返回。另外,指针进行初始化和赋值以及引用进行初始化的时候,权限可以缩小,但是不能放大,因为对于指针来说,两个变量里的指针指向的是同一块空间,而对于引用来说,一个变量改变可以直接影响另一个。auto在同一行声明多个变量时,这些变量必须要类型相同,否则编译器会报错,因为编译器实际上只对第一个类型进行推导,然后用推导出来的类型定义其它变量。内联函数也不建立栈帧,但是在默认的debug版本不起作用,因为那样就不能调试了,release下会起作用,编译的时候会在调用内联函数的地方展开。原创 2024-05-20 15:19:15 · 715 阅读 · 2 评论 -
string类简略讲解
但是如果是使用流插入打印,那么打印出来的内容是按照size打印,如果使用c_str(),即使用const char *打印,那么会受到'\0'的影响。可以理解成一个像指针的东西,str.begin()理解成取str[0]的地址,str.end()则是取字符串最后一位后面的那个位置的地址。(这个类里面还有cbegin(),cend(),crebegin(),crend())来区分普通和const修饰的类型,但是使用不广泛。如果我们知道要开多少空间,我们可以提前开好空间,减少扩容,扩容所产生的消耗太大了。原创 2024-05-27 17:20:16 · 698 阅读 · 0 评论 -
List的几个小点
3.sort//list只能用自己的sort,因为list是bidirectional iterator,而sort要求RandomAccessIterator。4.merge(用的比较少)二、operations。原创 2024-06-01 09:29:35 · 181 阅读 · 0 评论 -
Vector的小部分常用接口
vector默认遍历的时候下标要小于它的size,即使开了空间,也无法强行访问。stl中的内容具有很强的统一性,所以其它可以参照string。vector可以理解成一个能够动态增加的数组,也即顺序表。三、insert,erase,和find。原创 2024-05-31 16:26:05 · 171 阅读 · 0 评论