C++学习
文章平均质量分 82
C++的学习,总结
木头人的学习生活之旅
这个作者很懒,什么都没留下…
展开
-
C++回顾(二十六)—— 算法
簡單介紹了一下算法,如遍歷算法,排序算法,查找算法等等原创 2023-03-12 11:24:51 · 246 阅读 · 0 评论 -
C++回顾(二十五)—— map/multimap容器
简单介绍了一下map和multimap原创 2023-03-11 21:15:58 · 698 阅读 · 0 评论 -
C++回顾(二十四)—— set / multiset容器
set / multiset容器。原创 2023-03-11 20:01:49 · 389 阅读 · 0 评论 -
C++回顾(二十三)—— priority_queue容器
functor,翻译成函数对象,伪函数,算符,是重载了“()”操作符的普通类对象。从语法上讲,它与普通函数行为类似。greater与less就是函数对象。尽管函数指针被广泛用于实现函数回调,但C++还提供了一个重要的实现回调函数的方法,那就是函数对象。(1)重载大于或者小于号。如何实现自定义类型排序。原创 2023-03-11 17:19:28 · 86 阅读 · 0 评论 -
C++回顾(二十二)—— stack容器 与 queue容器
简答介绍了一下stack容器和queue容器,其中stack容器时先进后出,queue容器是先进先出原创 2023-03-11 16:33:13 · 375 阅读 · 0 评论 -
C++回顾(二十一)—— list容器
这里简单介绍了一下list容器,其中要注意对于这种不是在连续空间存储的容器,迭代器 it 只能是++这种运算符,不能 it = it + 1。对于list.remove()函数,涉及到匹配,如果是自定义的类型,需要对 == 运算符进行重载。原创 2023-03-11 16:01:21 · 314 阅读 · 0 评论 -
C++回顾(二十)—— vector容器 和 deque容器
介绍了一下vector容器和deque容器,一些构造,插入,删除,迭代器等等原创 2023-03-11 10:54:38 · 697 阅读 · 0 评论 -
C++回顾(十九)—— 容器string
简单介绍了一下string容器的一些函数原创 2023-03-10 22:13:34 · 321 阅读 · 0 评论 -
C++回顾(十八)—— 文件操作
在 iostream 头文件中定义的类有 ios,istream,ostream,iostream,istream _withassign, ostream_withassign,iostream_withassign 等。原创 2023-03-10 15:32:36 · 517 阅读 · 0 评论 -
C++回顾(十七)—— 类型转换
简单介绍了四种类型转换关键字,其中static_cast 和 reinterpret_cast 都不安全原创 2023-03-09 21:06:53 · 405 阅读 · 0 评论 -
C++回顾(十六)—— 异常处理机制
简单介绍了一下异常的处理,通过hrow抛出异常,然后利用try语句,以及catch接受到异常。也可以利用标准程序异常库原创 2023-03-09 20:12:14 · 250 阅读 · 0 评论 -
C++回顾(十五)—— 类模板
简单介绍了一下类模板,模板类只能用显示调用。类模板可以派生出普通类,也可以有模板类。类模板中的static关键字和普通类没有什么区别,相同类型类对象共享同一个静态成员变量,且只能在类的外部进行初始化原创 2023-03-09 19:14:35 · 389 阅读 · 0 评论 -
C++回顾(十四)—— 函数模板
这里简答介绍了一些函数模板的知识。函数模板在调用时通过template关键字先声明了一个虚拟类型,然后根据这个虚拟类型编写函数。原创 2023-03-09 11:15:41 · 523 阅读 · 0 评论 -
C++回顾(十三)—— 运算符重载提高
简单介绍了一下为什么不能重载&&运算符,因为短路原则不能满足。以及一些数组类的相关运算符的重载原创 2023-03-09 10:41:31 · 262 阅读 · 0 评论 -
C++回顾(十二)—— 运算符重载
简单介绍了一下运算符重载。其可分为成员函数的重载和友元函数的运算符重载。还有前置++,后置++在重载时有区别,前置返回引用,后置返回值,并且后置有占位符。对于原创 2023-03-08 10:58:58 · 289 阅读 · 0 评论 -
C++回顾(十一)—— 动态类型识别和抽象类
简单介绍了一下动态类型识别的东西,可以通过自定义类型(虚函数+类型ID)、dynamic_cast、typeid进行类型的识别。在之后简单介绍了一下纯虚函数和抽象类。其中抽象类不能在定义对象,但可以定义指针原创 2023-03-07 22:34:11 · 602 阅读 · 2 评论 -
C++回顾(十)—— 多态
这里简单介绍了一下多态,就是指相同的代码完成不同的任务。多态成立的话要有继承、虚函数的重写、和父类指针指向子类对象;也简单介绍了一下多态的原理实现,是通过虚函数表指针去那个表里查找函数的。最后就是虚析构函数了原创 2023-03-07 21:36:20 · 323 阅读 · 0 评论 -
C++回顾(九)——多继承
简单介绍了一下多继承,当多继承出现了二义性时,可以用虚继承改变这种情况。C++类这里有向上转型的特点,可以用子类对象给父类对象赋值,但是不能反着来原创 2023-03-07 20:37:26 · 506 阅读 · 0 评论 -
C++回顾(八)—— 继承
简单介绍了继承的语法,以及继承时的权限,和构造和析构顺序,同名成员变量和函数,以及static关键字原创 2023-03-06 21:54:52 · 361 阅读 · 0 评论 -
C++回顾(七)—— 面向对象模型
静态成员变量是同类对象共有,静态成员函数只能修改静态成员变量。注意this指针。友元函数,友元类原创 2023-03-06 20:31:41 · 325 阅读 · 0 评论 -
C++回顾(六)—— 对象动态建立
简单介绍了一下new和delete的用法,以及初始化对象列表原创 2023-03-02 10:40:32 · 514 阅读 · 0 评论 -
C++回顾(五)—— 构造函数和析构函数
介绍了一下构造函数和析构函数,其中要注意深拷贝和浅拷贝,也简单介绍了一下匿名对象原创 2023-03-01 19:53:47 · 371 阅读 · 0 评论 -
C++回顾(四)—— 类的封装
struct和class的分别,类的对象,函数的权限原创 2023-03-01 10:50:44 · 778 阅读 · 0 评论 -
C++回顾(三)—— 函数
涉及到内联函数,默认参数,函数占位符,函数重载原创 2023-02-26 19:55:26 · 358 阅读 · 0 评论 -
C++回顾(二)——const和引用
C语言和C++中的const有何不同,C++中的引用原创 2023-02-25 22:26:26 · 941 阅读 · 0 评论 -
C++回顾(一)——从C到C++
从C语言过度到C++,注意命名空间,struct结构体,bool类型,三目运算符的变化原创 2023-02-23 20:07:06 · 6071 阅读 · 2 评论 -
深蓝C++学习 第四章 数组、vector与字符串
数组,指针,vector原创 2022-09-02 21:35:05 · 252 阅读 · 0 评论 -
深蓝C++学习 第三章 对象与基本类型
类型,变量原创 2022-08-27 16:49:42 · 339 阅读 · 0 评论 -
深蓝C++学习 第二章 C++初探
学习C++原创 2022-08-10 21:25:23 · 267 阅读 · 0 评论 -
C++核心编程-01模板
C++核心编程-01模板C++核心编程-01模板1.1 函数模板1.1.1函数模板的基本语法1.1.2 函数模板注意事项C++核心编程-01模板1.1 函数模板1.1.1函数模板的基本语法(1)语法:template<typename T>函数声明或定义template — 声明创建模板typename — 表面其后面的符号是一种数据类型,可以用class代替(两者效果一样)T — 通用的数据类型,名称可以替换,通常为大写字母(2)使用函数模板的两种方式原创 2021-09-22 17:16:28 · 98 阅读 · 0 评论 -
C++核心入门-04类和对象-(3)C++对象模型、this指针和友元
C++核心入门-04类和对象-(3)C++对象模型和this指针4.3 C++对象模型和类型指针4.3.1 成员变量和成员函数分开存储4.3.2 this指针概念4.3.3 空指针访问成员函数4.3.4 const修饰成员函数4.3 C++对象模型和类型指针4.3.1 成员变量和成员函数分开存储在C++中,类内的成员变量和成员函数分开存储,只有非静态成员变量才属于类的对象。(1)空对象占用内存——占用1个字节空间例子:#include<iostream>using namespac原创 2021-07-31 17:46:56 · 179 阅读 · 0 评论 -
C++核心入门-04类和对象(2)- 对象的清理和初始化
C++核心入门-04类和对象(2)- 对象的清理和初始化4.2 对象的初始化和清理4.2.1 构造函数和析构函数4.2.2 构造函数的分类及调用4.2.3 拷贝构造函数调用时机4.2.4 构造函数调用规则4.2.5 深拷贝与浅拷贝4.2.6 初始化列表4.2.7 类对象作为类成员4.2.8 静态成员(1)静态成员变量(2)静态成员函数4.2 对象的初始化和清理生活中,我们买的电子产品都基本会有出场设置,在某一天,我们不用的时候也会删除一些自己的信息数据,保证安全。C++中面向对象来源于生活,每个对象原创 2021-07-23 17:27:33 · 128 阅读 · 0 评论 -
C++核心入门-04类和对象(1)-封装
C++核心入门-04类和对象4.0 前言4.1 封装4.1.1 封装的意义4.0 前言C++面向对象的三大特性为:封装、继承和多态。C++认为万事万物皆为对象,对象有其属性和行为。例如:(1)人可以作为对象,属性有姓名、年龄、身高、体重…,行为有走、跑、吃饭、唱歌 …(2)车也可以作为对象,属性有轮胎、方向盘、车灯 … ,行为有载人、放音乐、开空调…具有相同性质的对象,我们可以抽象为类,人属于人类,车属于车类。4.1 封装4.1.1 封装的意义封装是C++面向对象三大特性之一封装的意义原创 2021-07-23 16:35:29 · 117 阅读 · 0 评论 -
C++核心入门-03函数提高
C++核心入门-03函数提高3.1 函数默认参数3.2 函数占位参数3.3 函数重载3.3.1 函数重载概述3.3.2 函数重载注意事项3.1 函数默认参数在C++中,函数的形参列表中的形参是可以有默认值的。语法:返回值类型 函数名(参数类型 参数名=默认值){ }例子:int func(int a, int b=20, int c=30){ return a + b + c;}在main()函数中,调用该函数时,如果我们自己传入了数据,就用自己的数据;如果没有,那么就用默认值原创 2021-07-17 22:09:22 · 72 阅读 · 0 评论 -
C++核心入门-02引用
C++核心入门-02引用2.1 引用的基本使用2.2 引用注意事项2.3 引用做函数参数2.4 引用做函数返回值2.5 引用的本质2.6 常量引用2.1 引用的基本使用作用:给变量起别名语法:数据类型 &别名=原名例子: int a = 10; //创建引用 int &b = a;原理图:示例:#include<iostream>using namespace std;int main(){ //引用基本语法 //数据类型 &别名原创 2021-07-16 22:21:42 · 85 阅读 · 0 评论 -
C++核心入门-01内存分区模型
C++核心入门-01内存分区模型0、前言1、程序运行前1.1 代码区1.2 全局区本小节总结0、前言C++在执行时,将内存大方向划分为4个区域代码区:存放函数体的二进制代码,由操作系统进行管理。全局区:存放全局变量、静态变量以及常量。栈区:由编译器自动分配释放,存放函数的参数值,局部变量等。堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收。内存分四个区的意义:不同区域存放的数据,赋予不同的生命周期,给我们更大的灵活编程。1、程序运行前在程序编译后,生成了exe可执行程原创 2021-07-13 16:29:52 · 100 阅读 · 0 评论 -
C++基础入门-08结构体
C++基础入门-08结构体8.1 结构体基本概念8.2 结构体定义和使用8.3 结构体数组8.4 结构体指针8.1 结构体基本概念结构体属于用户自定义的数据类型,允许用户存储不同的数据类型。8.2 结构体定义和使用1、定义结构体的语法:struct 结构体名 {结构体成员列表};例子://创建学生数据类型 : 学生包括(姓名,年龄,分数)//语法:struct 类型名称 { 结构体成员列表 };struct student{ //成员列表 //姓名 string name;原创 2021-07-09 21:48:30 · 290 阅读 · 0 评论 -
C++基础入门-07指针
C++基础入门-07指针7.1 指针的基本概念二级目录三级目录7.1 指针的基本概念二级目录三级目录原创 2021-07-05 21:35:28 · 67 阅读 · 0 评论 -
C++基础入门-06函数
C++基础入门-06函数6.1 概述6.2 函数的定义6.2.1 函数定义的步骤6.2.2 函数定义的语法结构6.2.3 函数定义示例6.3 函数的调用6.4 值传递6.1 概述作用:将一段经常使用的代码封装起来,减少重复代码。一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能。6.2 函数的定义6.2.1 函数定义的步骤1、返回值类型;2、函数名;3、参数列表;4、函数体语句;5、return语句。6.2.2 函数定义的语法结构返回值类型 函数名(参数列表){原创 2021-07-03 21:47:02 · 236 阅读 · 4 评论 -
C++基础入门-05数组
C++基础入门-05数组5.1 概述5.2 一维数组5.2.1 一维数组的定义方式5.2.2 一维数组组名的用途5.1 概述数组:就是一个集合,里面存放了相同类型的数据元素。特点:1、数组中的每个数据元素都是相同类型;2、数组中每个数据元素的位置在内存中是连续的。5.2 一维数组5.2.1 一维数组的定义方式1、一维数组定义一共有三种方式:(1)、数据类型 数据名[ 数组长度 ];例如:int arr[4];(2)、数据类型 数据名[ 数组长度 ]={ 值1,值2,… };原创 2021-06-28 21:28:34 · 783 阅读 · 0 评论