C++
文章平均质量分 82
FugLee
在地里面除草,边学 Java -_-
展开
-
C++ 系列(6) --- STL之list的使用
一:list简介 1.list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 2. list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。 3. 与其他的序列式容器相比(array,vector,deque),list通常在任意位置进行插入、移除元素的执行效率更好。 4. list还需要一些额外的空间,以保存每个节点的相关联信息(对于存储类型较小元素的大list来说这可能是一个重要的因素。 二:list原创 2020-06-06 23:56:00 · 702 阅读 · 1 评论 -
C++ 系列(4) --- C/C++之内存管理
一:内存分布 (1)示意图 (2)说明 1.栈又叫堆栈,非静态局部变量/函数参数/返回值等等,栈是向下增长的。 2. 内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享内存,做进程间通信。 3. 堆用于程序运行时动态内存分配,堆是可以上增长的。 4. 数据段–>存储全局数据和静态数据。 5. 代码段–>可执行的代码/只读常量 二:内存管理方式 (1)通过new和delete操作符进行动态内存管理。 (2)示例代码 class Test { public:原创 2020-06-03 00:21:44 · 148 阅读 · 0 评论 -
C++ 系列(1) --- 类与对象之static成员与友元函数
一:static成员 (1)定义 声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之为静态成员变量;用static修饰的成员函数,称之为静态成员函数。 注意:静态的成员变量一定要在类外进行初始化。 (2)特性 a. 静态成员为所有类对象所共享,不属于某个具体的实例。 b. 静态成员变量必须在类外定义,定义时不添加static关键字。 c. 类静态成员即可用类名::静态成员或者对象.静态成员来访问。 d. 静态成员函数没有隐藏的this指针,不能访问任何非静态成员。 e. 静态成员原创 2020-06-02 23:48:23 · 221 阅读 · 0 评论 -
C++ 系列(5) --- 类的成员函数
一:构造函数 (1)定义 构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,保证每个数据成员都有 一个合适的初始值,并且在对象的生命周期内只调用一次。 (2)特性 a、函数名与类名相同。 b、无返回值。 c、对象实例化时编译器自动调用对应的构造函数。 d、构造函数可以重载。 e、如果类中没有显式定义构造函数,则C++编译器会自动生成一个无参的默认构造函数,一旦用户显式定义编译器将不再生成。 f、无参的构造函数和全缺省的构造函数都称为默认构造函数,并且默认构造函数只能有一个。注意原创 2020-05-29 22:25:02 · 1121 阅读 · 0 评论 -
C++ 系列(2) --- C++类与对象重点概要
一:C++中struct和class的区别 C++需要兼容C语言,所以C++中struct可以当成结构体去使用,另外C++中struct还可以用来定义类,和class是定义类是一样的,区别是struct的成员默认访问方式是public,class是struct的成员默认访问方式是private。 二:类的实例化 用类类型创建对象的过程称为类的实例化。 1.类只是一个模型一样的东西,限定了类有哪些成员,定义出一个类并没有分配实际的内存空间来存储它。 2. 一个类可以实例化出多个对象,实例化出的对象占用实际的物原创 2020-05-28 16:20:53 · 226 阅读 · 0 评论 -
C++ 系列(3) --- C++中的引用和内联函数
一:引用 (1)定义 引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。 (2)特性 a:引用在定义时必须初始化。 b:一个变量可以有多个引用。 c:引用一旦引用一个实体,再不能引用其他实体。 (3)使用场景 a:做参数 void Swap(int& left, int& right) { int temp = left; left = right; right = temp; } b:做返回值 int& C原创 2020-05-28 15:34:22 · 206 阅读 · 0 评论