C++初阶
文章平均质量分 93
学习C++初阶知识
Mike!
相互学习,共同进步。
展开
-
C++ STL专题 list的底层实现
void empty_init()函数在list类中有着重要作用,其作用为初始化链表为空状态的作用,这个函数的主要目的是创建一个哑节点(哨兵节点),并设置链表的初始状态,使链表在逻辑上是空的。这个函数接受一个类型为constT&的参数x,即要插入的新元素的一个常量引用。(1).++后置中,由于是先赋值再自加,所以要先把改变之前的值保持在tmp中,再对_node作改变,最后返回的是tmp。(2).--后置中,由于是先赋值再自减,所以要先把改变之前的值保持在tmp中,再对_node作改变,最后返回的是tmp。原创 2024-08-07 15:48:37 · 1539 阅读 · 5 评论 -
C++ STL专题 list的讲解
1.list是可以在常数范围内任意位置进行插入和删除的序列式容器,并且可以前后双向迭代。2. list的底层是双链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。3. list与forward_list非常相似:最主要的不同在于forward_list是单链表,只能朝前迭代。4. 与其他的序列式容器相比(vector,deque), list通常在任意位置进行插入,移除元素的执行效率更好。5. 与其他序列式容器相比,原创 2024-08-07 14:10:19 · 869 阅读 · 3 评论 -
C++STL专题 vector底层实现
Vector底层的实现原创 2024-08-06 17:44:07 · 1164 阅读 · 7 评论 -
C++STL专题-vector
resize在开空间的同时。16.rend 将vector反转构的结束指针返回(其实就是原来的begin-1)15.rbegin 将vector反转后的开始指针返回(其实就是原来的end-1)11.resize 改变当前使用数据的大小,如果它比当前使用的大,者填充默认值。5.end 得到数组的最后一个单元+1的指针。7.back 得到数组的最后一个单元的引用。2.pop_back 去掉数组的最后一个数据。原创 2024-08-05 12:39:01 · 575 阅读 · 3 评论 -
C++STL专题-string类
(3).当在同一行声明多个变量时,这些变量必须是相同的类型,否则编译器将会报错,因为编译器实际只对第一个类型进行推导,然后用推导出来的类型定义其他变量。(2).用auto声明指针类型时,用auto和auto*没有任何区别,但用auto声明引用类型时则必须加&指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期。若成功找到,则返回所在字符串中的第一个位置,若没有找到,则返回string::npos。(4).auto不能作为函数的参数,可以做返回值,但是建议谨慎使用。原创 2024-08-04 20:42:13 · 1522 阅读 · 1 评论 -
C++第七篇 模板初阶和STL简介
class 类模板名// 类内成员定义例如:类模板实现栈public:, _size(0){}~Stack()private:T* _array;当声明与定义分离时,要声明模板类public:, _size(0){}~Stack()private:T* _array;STL(standard template libaray-标准模板库)原创 2024-08-03 13:04:31 · 1175 阅读 · 5 评论 -
C++第六篇 内存管理
在申请自定义类型的空间时,new会调用构造函数delete会调用析构函数,而malloc与free不会,它们只会开辟空间。(1).调用operator new函数申请空间(2).在申请的空间上执行构造函数,完成对象的构造。原创 2024-08-03 11:04:34 · 834 阅读 · 0 评论 -
C++第五篇 类和对象(下) 初始化列表
目录1.再探构造函数2.类型转换3.static成员4.友元 friiend(1).之前我们实现构造函数时,初始化成员变量主要使用函数体内赋值,构造函数初始化还有一种方式,就是初始化列表,初始化列表的使用方式是以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个"成员变量"后面跟一个放在括号中的初始值或表达式。 (2).每个成员变量在初始化列表中只能出现一次(只能初始化一次),语法理解上初始化列表可以认为是每个成员变量定义初始化的地方。(3).C++11支持在成员变量声明的位置给缺省值,这个原创 2024-08-02 13:00:53 · 929 阅读 · 0 评论 -
C++第四篇 一篇文章学完C++所有的日期类函数
(1).我们创建两个Data类,一个存储 *this ,另一个存储d,并且判断那个那个小,把小的交换到temp2,然后循环判断temp1是否不等于temp2,若不等于就ans++,并且将temp2+=1,直到temp1和temp2相等。主要实现了对日期的操作,包括日期的比较,日期-日期,日期+天数,日期++,++日期,日期,--日期,以及对日期中>> 和原创 2024-08-02 10:40:55 · 1116 阅读 · 5 评论 -
c++第三篇 类和对象(中) 构造函数 析构函数 拷贝构造 赋值重载
内置类型就是语言提供的原生数据类型,如:int/char/double/指针等,自定义类型就是我们使用class/struct等关键字自己定义的类型。原创 2024-08-01 15:58:17 · 970 阅读 · 2 评论 -
C++第二篇 类和对象(上)
class为定义类的关键字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量; 类中的函数称为类的方法或者成员函数。定义在类面的成员函数默认为inline。原创 2024-08-01 10:56:36 · 788 阅读 · 0 评论 -
C++第一篇 入门基础
引用基础知识原创 2024-07-31 13:14:46 · 761 阅读 · 3 评论