
C++初阶学习
文章平均质量分 94
吾与C
志之所趋,无弗远届,穷山距海,不能限也。志之所向,无坚不入,锐兵精甲,不能御也。
展开
-
[C++入门]---List的使用及模拟实现
list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向 其前一个元素和后一个元素。list与非常相似:最主要的不同在于t是单链表,只能朝前迭代,已让其更简单高效。与其他的序列式容器相比(arrayvectordeque),list通常在任意位置进行插入、移除元素的执行效率更好。与其他序列式容器相比,list和最大的缺陷是不支持任意位置的随机访问,比如:要访问。原创 2023-09-16 11:32:39 · 349 阅读 · 1 评论 -
C++入门---vector常用函数介绍及使用
了解了string类vector常用函数后,能不能使用代替string类呢?不能,①string类和的主要区别是末尾是否有'\0'vector的查改的情况需要自己考虑‘\0’的情况②string的接口可以插入一个字符串,或者一个string类对象,string类接口函数多,功能齐全。所以不能使用代替string类。原创 2023-08-23 23:27:20 · 9780 阅读 · 0 评论 -
[C++入门]---vector深度剖析及模拟实现
private://指向vector第一个数据的位置//指向vector最后一个数据的下一个位置//记录最大存储容量的下一个位置①使用类模板,来支持vector类实现不同类型的数组;②通过typedef将对应类型的源生指针实现成vector的迭代器iterator;③自定义类型的成员变量会调用默认构造函数进行初始化,而内置类型的成员变量,不同的编译器实现方式不同,默认内置类型的成员变量为随机值;④C++11中针对内置类型成员不初始化的缺陷打了补丁,即内置类型成员变量在类中声明时可以给默认值;原创 2023-08-23 23:05:29 · 170 阅读 · 0 评论 -
string类写时拷贝
①string类拷贝构造:在VS编译器,直接为拷贝构造创建对象开辟新空间;②在gcc编译器,string类上读时不拷贝,写时拷贝(修改数据才会拷贝开辟新空间)用来记录资源使用者的个数。在构造时,将资源的计数给成1,每增加一个对象使用该资源。计数增加1,当某个对象被销毁时,先给该计数减1,然后再检查是否需要释放资源,如果计数为1,说对象时资源的最后一个使用者,将该资源释放;否则就不能释放,因为还有其他对象在使用该资源。原创 2023-08-21 21:05:46 · 397 阅读 · 0 评论 -
C++入门--string类的实现
private://string类的大小//string类的存储容量char* _str;我们定义string类的成员变量有sizecapacity_str,配合我们实现插入、删除、扩容等修改操作函数,并且把我们自己实现的string类成员函数封装在命名空间里面,避免和标准库里面的string类类型、函数冲突。原创 2023-08-10 18:26:32 · 1872 阅读 · 1 评论 -
string类函数--深入浅出了解
🎠🎠🎠。原创 2023-08-07 12:12:37 · 318 阅读 · 1 评论 -
C++模板初阶学习
template < class T1 , class T2 , . . . , class Tn > class 类模板名 {// 类内成员定义 };public :perror("malloc申请空间失败!!!");return;_size = 0;_size ++;} // 其他方法... ~ StackInt() {_size = 0;int _size;public :perror("malloc申请空间失败!!!");return;原创 2023-07-31 12:39:53 · 168 阅读 · 0 评论 -
C\C++内存管理
/ new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间 //还会调用构造函数和析构函数 A * p1 =(A *) malloc(sizeof(A));free(p1);delete p2;代码运行的结果为:class A {public :} ~ A() {int _a;free(p5);代码运行的结果为:在申请自定义类型的空间时,原创 2023-07-29 19:15:16 · 344 阅读 · 0 评论 -
类和对象(下篇)
本章我们一起了解了类和对象中初识化列表,`static`成员、友元类、内部类等知识,希望对大家认识类对象有些许帮助,感谢大家阅读,如有不对欢迎纠正!🎠🎠🎠原创 2023-07-26 16:31:36 · 133 阅读 · 0 评论 -
类和对象(中)--运算符重载
我们使用当前日期,当前月的天数满了,当前月份进位加1,年份进位加1,一年中每个月天数又不一样,而特殊的二月份每逢闰年天数加一,所以我们使用一个函数判断。3.赋值运算符重载函数,用户在没有显示实现时,编译器会默认生成一个默认赋值运算符重载函数以值的方式进行逐字节拷贝,注意:内置类型成员变量是直接赋值的,而自定义类型成员需要调用对应的类赋值运算符重载完成赋值。2.赋值运算符只能重载成类的成员函数,不能直接定义成全局函数,因为会与类里面生成的赋值函数冲突,且不具备构成函数重载的条件。②相比内置类型直接写成。原创 2023-07-23 21:17:01 · 494 阅读 · 0 评论 -
C++类和对象--构造函数和析构函数
本章我们一起学习了类和对象的构造函数、析构函数、拷贝构造函数等默认成员函数的相关知识,希望对大家认识C++中的类和对象由些许帮助!!!🎉🎉🎉。原创 2023-06-22 21:11:44 · 1055 阅读 · 1 评论 -
C++入门--初步认识类和对象
/类体:由成员函数和成员变量组成//一定要注意后面的分号class为定义类的关键字Classname为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略类体中的内容类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数类的两种定义方式1.声明和定义全部在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理public://显示基本信息private://姓名char* _sex;//性别int _age;//年龄。原创 2023-05-29 21:03:50 · 1341 阅读 · 0 评论 -
C++入门--auto关键字、内联函数学习
auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时推导而得。int a = 10;//根据右边的表达式,推导出c的类型 auto d = 30.1;//根据右边的表达式,推导出d的类型 //typeid也是C++的关键字,作用是打印类型 cout原创 2023-05-22 18:58:01 · 4210 阅读 · 0 评论 -
C++入门--缺省、函数重载、引用学习
本章我们一起学习了C++缺省、函数重载、引用的相关知识,希望对大家学习C++有些许帮助!⭐⭐⭐。原创 2023-05-22 16:48:04 · 1085 阅读 · 0 评论 -
C++初阶--C++入门之基础学习
C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机, 20世纪80年代, 计算机界提出了OOP(objectoriented programming:面向对象)思想,支持面向对象的程序设计语言应运而生。1982年,Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语言。为了表达该语言与C语言的渊源关系,命名为C++。原创 2023-05-21 11:10:23 · 508 阅读 · 0 评论