![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++编程
文章平均质量分 77
介绍C++的基本语法、面向对象思想、泛型编程等
Stephen_Tao
这个作者很懒,什么都没留下…
展开
-
C++编程——deque容器
文章目录1 deque容器基本概念2 deque容器构造函数3 deque容器赋值操作4 deque容器大小操作5 deque容器的插入与删除6 deque容器数据存取7 deuqe容器排序1 deque容器基本概念功能:双端数组,可以对头端进行插入删除操作deque与vector的区别:vector对于头部的插入删除效率低,数据量越大,效率越低(因为vector是单端数据,头插需要将后面的数据向后移动后才能插入,头删的话需要将后面的数据向前移动)deque相对而言,对头部的插入删除速度会原创 2022-05-18 10:07:34 · 345 阅读 · 0 评论 -
C++编程——vector容器
文章目录1 vector基本概念2 vector构造函数3 vector容器赋值操作4 vector容量和大小5 vector容器的插入与删除6 vector容器数据存取7 vector互换容器8 预留空间1 vector基本概念功能:vector数据结构和数组非常相似,也称为单端数组vector与普通数组的区别:不同之处在于数组是静态空间,而vector可以动态扩展动态扩展:并不是在原空间之后续接新空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原空间vector容器的迭原创 2022-05-17 13:49:18 · 1104 阅读 · 0 评论 -
C++编程——string容器
文章目录1 string构造函数2 string赋值操作3 string字符串拼接4 string查找和替换5 string字符串比较6 string存取1 string构造函数string是C++风格的字符串,本质上是一个类,既然是类,那就有相应的构造函数构造函数原型:string() //创建一个空的字符串string(const char* s) //使用字符串s初始化string(const string& str) //使用一个string对象初始化另一个string对象s原创 2022-05-14 23:31:28 · 116 阅读 · 0 评论 -
C++编程——STL初识
文章目录1 STL的诞生2 STL基本概念3 STL六大组件4 STL中的容器、算法、迭代器1 STL的诞生长久以来,软件界一直希望建立一种可重复利用的东西C++的面向对象和泛型编程的思想,目的就是复用性的提升大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作为了建立数据结构和算法的一套标准,诞生了STL2 STL基本概念STL(Standard Template Library,标准模板库)STL从广义上分为:容器(container),算法(algorithm),原创 2022-05-14 16:16:34 · 344 阅读 · 0 评论 -
C++编程——类模板
文章目录1 类模板语法2 类模板与函数模板的区别3 类模板中成员函数创建时机4 类模板对象做函数参数1 类模板语法类模板的作用:建立一个通用类,类中的成员数据类型可以不具体制定,用一个虚拟的类型来代表语法:template<typename T>类解释:template声明创建模板typename表明其后面的符号是一种数据类型,可以用class代替T是通用的数据类型,名称可以替换,通常为大写字母示例://类模板template<class NameType, cl原创 2022-05-08 13:49:13 · 29086 阅读 · 8 评论 -
C++编程——函数模板
文章目录1 函数模板语法2 函数模板注意事项3 函模模板案例4 普通函数与函数模板的区别5 普通函数与函数模板的调用规则6 模板的局限性模板就是建立通用的模具,大大提高复用性模板的特点:模板不介意直接使用,它只是一个框架模板的通用并不是万能的C++另一种编程思想称为泛型编程,主要利用的技术就是模板C++提供两种模板机制:函数模板和类模板本文介绍的是函数模型的知识1 函数模板语法函数模板作用:建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表语法:te原创 2022-05-03 17:23:46 · 5795 阅读 · 0 评论 -
C++编程——文件操作
文章目录1. 文本文件1.1 写文件1.2 读文件2. 二进制文件2.1 写文件程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放通过文件可以将数据持久化存储C++中对文件操作需要包含头文件fstream文件类型分为两种:文本文件 - 文件以文本的ASCII码形式存储在计算机中二进制文件 - 文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们操作文件的三大类:ofstream:写操作(o是output的意思,人输出那就写操作)ifstream:读操作(i是in原创 2022-04-30 09:22:20 · 681 阅读 · 0 评论 -
C++编程——多态
文章目录1. 多态的基本概念多态的知识结构:1. 多态的基本概念多态是C++面向对象三大特性之一多态分为两类:静态多态:函数重载和运算符重载属于静态多态,复用函数名动态多态:派生类和虚函数实现运行时的多态静态多态和动态多态的区别:静态多态的函数地址早绑定,在编译阶段就确定了函数地址动态多态的函数地址晚绑定,在运行阶段确定函数地址...原创 2022-04-27 12:25:49 · 767 阅读 · 0 评论 -
C++编程——继承
文章目录1. 继承的基本语法2. 继承方式继承的知识点结构:继承是面向对象三大特性之一,例如动物类下可以有猫类、狗类。显然猫类、狗类都具有动物类的属性,于此同时,也就有自己独特的属性。这个时候,猫类、狗类就是继承于动物类,采用继承的技术,可以减少重复的代码。1. 继承的基本语法语法:class 子类:继承方式 基类继承示例:一般网页都有很多部分相似的,我们可以将这些相似的部分抽象出来,作为一个基类。然后子类只需要继承基类,在基类的基础上添加自身其他的属性或者方法就可以实现基本的功能,同时减少原创 2022-04-25 00:18:30 · 3776 阅读 · 0 评论 -
C++编程——运算符重载
文章目录1. 加号运算符重载1.1 通过成员函数重载1.2 通过全局函数重载2. 左移运算符重载2.1 通过成员函数重载2.2 通过全局函数重载3. 递增运算符重载3.1 前置递增3.2 后置递增4. 赋值运算符重载5. 关系运算符重载6. 函数调用运算符重载运算符重载知识结构:运算符重载的概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型1. 加号运算符重载作用:实现两个自定义数据类型相加的运算1.1 通过成员函数重载class Person{public: //原创 2022-04-21 19:40:54 · 1301 阅读 · 1 评论 -
C++编程——友元
文章目录1. 友元的概念2. 友元的三种实现2.1 全局函数做友元2.2 类做友元2.3 成员函数做友元1. 友元的概念友元目的是让一个函数或者类访问另一个类中的私有成员。有一个非常生动的例子,就是家中会有客厅和卧室,此时可以把家看成一个类。客厅是客人都可以进去的地方,可以理解为类内的公有成员;而对于卧室,客人其实是不能进去的,因为是你私密的空间,可以理解为类内的私有成员。但是呢,当一些特殊的客人,比如你的好朋友,亲人来到你家时,你是允许他们进入你的卧室的,这就好比一个类访问另外一个类中的私有成员原创 2022-04-21 16:33:02 · 809 阅读 · 0 评论 -
C++编程——常函数与常对象
文章目录常函数:List item原创 2022-04-16 17:30:54 · 609 阅读 · 0 评论 -
C++编程——程序的内存模型
文章目录1. 内存分区模型内存分区模型的主要知识结构:1. 内存分区模型C++程序在执行时,将内存大致分为4个区域代码区:存放函数体的二进制代码,由操作系统进行管理全局区:存放全局变量、静态变量以及常量栈区:由编译器自动分配释放,存放函数的参数值,局部变量等堆区: 由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收...原创 2022-04-08 23:54:53 · 1037 阅读 · 0 评论 -
C++编程——引用
文章目录1. 引用的基本使用2. 引用的注意事项3. 引用做函数参数4.引用做函数的返回值1. 引用的基本使用作用:给变量起别名(操作的是同一块内存空间)语法:数据类型 &别名 = 原名2. 引用的注意事项引用必须初始化int &b; //错误的 引用在初始化后,不可以改变int a = 10;int b = 10;int &c = a;int &c = b; //错误的,初始化之后便不可更改3. 引用做函数参数作用:函数传递参数时原创 2022-04-09 11:23:58 · 1162 阅读 · 0 评论 -
c++编程——函数提高
文章目录1.函数的默认参数2.函数占位参数3. 函数重载3.1 函数重载概述3.2 函数重载注意事项1.函数的默认参数如果我们自己传入数据,就用自己的数据,如果没有,那么就用默认值语法:返回值类型 函数名(形参 = 默认值) {}注意事项:如果某个位置已经有了默认参数,那么从这个位置往后,从左到右都必须有默认值如果函数的声明有默认参数,函数的实现就不能有默认参数(否则会出现默认参数重定义的错误),所以声明和实现只能有一个默认参数2.函数占位参数c++中函数的形参列表里可以有占位参数,用来原创 2022-04-10 12:54:55 · 1219 阅读 · 0 评论 -
C++编程——类和对象的封装
文章目录1.封装的意义2. struct和class区别3. 成员属性设置为私有类和对象封装的知识结构:1.封装的意义封装是C++面向对象三大特性之一封装的意义:将属性和行为作为一个整体,表现生活中的事物将属性和行为加以权限控制封装中的访问权限:类在设计时,可以把属性和行为放在不同的权限下加以控制访问权限有三种:公共权限:public(成员类内可以访问,类外也可以访问)保护权限:protected(成员类内可以访问,类外不可以访问。但是发生继承关系时,子类可以访问父类的保护内容原创 2022-04-11 12:28:07 · 422 阅读 · 0 评论 -
C++编程——构造函数与析构函数
文章目录1. 基本概述2. 构造函数的分类及调用2.1 构造函数的分类2.2 构造函数的调用3. 拷贝构造函数调用时机4. 构造函数调用规则5. 拷贝构造函数的深拷贝与浅拷贝构造函数结构框架:1. 基本概述对象的初始化和清理也是非常重要的安全问题:一个对象或者变量没有初始状态,对其使用后果是未知的同样的使用完一个对象或变量,没有及时清理,也会造成一定的安全问题C++利用了构造函数和析构函数解决上述问题,这两个函数将会被编译器自动调用,完成对象初始化和清理工作。对象的初始化和清理工作是编译器原创 2022-04-12 14:08:13 · 296 阅读 · 0 评论 -
C++编程——静态成员
文章目录1. 静态成员变量2. 静态成员函数2.1 所有对象共享同一个函数2.2 静态成员函数只能访问静态成员变量2.3 静态成员函数也有访问权限静态成员的知识结构:静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员1. 静态成员变量所有对象共享同一份数据在编译阶段分配内存类内声明,类外初始化2. 静态成员函数2.1 所有对象共享同一个函数由于静态成员函数是所有对象共享的,因此静态成员函数的调用有两种方式:通过对象访问通过类名访问示例:class P原创 2022-04-13 21:01:56 · 416 阅读 · 0 评论 -
C++编程——C++对象模型和this指针
文章目录1. C++对象模型2. this指针1. C++对象模型C++中类对象的成员变量和成员函数是分开存储的非静态成员变量,属于类的对象上静态成员变量,不属于类的对象上非静态成员函数,不属于类的对象上静态成员函数,不属于类的对象上即只有非静态成员变量才属于类的对象上示例1:(空类的对象模型)class Person{};void test(){ Person p; //空对象占用的内存空间为1 //C++编译器会给每个空对象也分配一个字节空间,是为了区分空对象占原创 2022-04-15 18:54:33 · 814 阅读 · 1 评论