
C/C++学习笔记
文章平均质量分 72
C/C++语言一系列的知识讲解
easy_understand-ML
持续努力的在校大学生
展开
-
C++多态
什么是多态多态的定义及实现虚函数的重写为什么对析构函数进行重写呢?C++11中的 `override`和`final`抽象类接口继承和实现继承多态实现的原理虚函数表实现多态后,派生类中的虚函数表动态绑定,静态绑定单继承虚函数表多继承虚函数表面试常见的问题原创 2022-11-28 09:00:00 · 475 阅读 · 11 评论 -
C++继承
什么是继承?不同继承方式的访问限定派生类给基类赋值继承中的作用域派生类中的默认成员函数构造函数拷贝构造,赋值运算符重载析构函数继承与友元继承与静态成员菱形继承与菱形虚拟继承菱形继承代码验证测试二义性冗余菱形虚拟继承继承与组合原创 2022-11-21 17:58:53 · 756 阅读 · 7 评论 -
C++模板总结
非类型的模板参数就是:这个模板的形参是一个常量。对于这个常量我们也是有要求,要求不能是浮点数,类对象,字符串。原创 2022-11-19 16:57:36 · 889 阅读 · 4 评论 -
stack,queue,priority_queue的模拟实现,适配器deque
在我们模拟实现stack,queue的时候,我们会用deque作为默认的适配器那么deque的底层是什么呢?可以说是一个指针数组,当然该数组是动态的,它有一个中控指针,中控指针指向首元素的所在的那一行buffer数组,对于改数据结构,我们支持随机访问,如果有频繁的头插(删)和尾插(删),选择该结构还是不错的。原创 2022-11-17 22:05:46 · 339 阅读 · 0 评论 -
list的模拟实现
底层说明:list的底层实现为带头的双向链表。原创 2022-11-17 21:30:27 · 230 阅读 · 0 评论 -
vector的模拟实现
vector就是一个顺序表而已,只不过它是类模板,可以实例化出不同的模板类。下面我们通过模拟实现来进一步的熟悉vector。原创 2022-11-17 20:16:02 · 319 阅读 · 0 评论 -
反向迭代器
我们在实现正向迭代器的时候,它的++是下一个元素,–为上一个元素。对于反向迭代器它就是相反的,++为上一个元素,–为下一个元素。反向迭代器的头为为正向迭代器的尾,正向迭代器的尾为反向迭代器的头,所以我们设计反向迭代器的时候在访问里面数据的时候,因为反向迭代器的头为尾,里面不是有效数据,这样设置的目的是为了和正向迭代器保持对称。反向迭代器是复用了正向迭代器。原创 2022-11-17 19:48:40 · 197 阅读 · 0 评论 -
C++——string类
string类的常用接口string类的模拟实现原创 2022-10-11 20:45:46 · 818 阅读 · 18 评论 -
c++模板
C++模板泛型模板函数模板类模板原创 2022-10-01 22:52:39 · 667 阅读 · 6 评论 -
C++动态内存分配
new/delete定位new(对于类)关于new/delete的底层原创 2022-09-28 23:35:18 · 512 阅读 · 14 评论 -
类和对象下
(特别是类中没有默认的构造函数)的时候。单靠在构造函数内部实现是不可能完成的。而初始化列表就可以解决这些问题。它的形式是在函数后面加上。原创 2022-09-13 22:44:44 · 291 阅读 · 11 评论 -
类和对象——默认成员函数
当没有自己写构造函数的时候,会调用默认的构造函数,默认的构造函数只对自定义类型进行处理(调用它的构造函数),对内置类型不做处理。析构函数可以自己写,当没有自己实现的时候会调用默认析构函数,默认析构函数对内置类型不做处理,对自定义类型会调用它的析构函数。如果没有自己写拷贝构造函数,会调用默认构造函数,默认构造函数对内置类型进行值拷贝,对自定义类型会调用它的拷贝构造函数。即使没有显式实现赋值运算符重载,也会生成默认的,其和拷贝构造一样,内置类型值拷贝,自定义类型调用它的赋值重载。析构函数是释放类成员的资源。..原创 2022-08-12 21:13:49 · 719 阅读 · 16 评论 -
类和对象——上
看下面这个代码;intage;};class就是类的关键字。people就是这个类的名字,{}为类的主体,里面有成员,变量叫做成员变量,函数叫做成员函数。c语言中的struct也可以作为类的关键字。只不过在c++中最好使用c++的class写法。};类的定义有两种形式一种是成员函数的声明和定义都在类的里面。另一种是类的里面是成员函数的声明,在另一个文件中实现类的定义。......原创 2022-07-28 22:25:48 · 398 阅读 · 9 评论 -
C++基础
命名空间缺省参数函数重载extren “C”引用常引用原创 2022-07-11 20:41:48 · 387 阅读 · 5 评论 -
函数栈帧的创建和销毁——仅供欣赏
函数栈帧的创建和销毁原创 2022-04-23 13:42:10 · 586 阅读 · 6 评论 -
c语言预处理
预处理详解:C语言程序的编译+链接预定义符号介绍预处理指令 #define#define定义标识符#define定义的宏#define的使用规则宏和函数的对比预处理操作符#和##的介绍预处理指令 #include预处理指令 #undef条件编译详解:C语言程序的编译+链接一个源文件程序到可执行程序,需要经过----预编译+编译+汇编+链接预编译:只要是对头文件进行包含,define定义符号的替换,注释的删除编译:把c语言代码变成汇编代码。包括:语法分析,词法分析,语义分析,符号汇总汇编:把汇编原创 2022-04-16 20:06:49 · 1150 阅读 · 6 评论 -
C语言文件操作
C语言文件操作原创 2022-04-10 16:05:49 · 1411 阅读 · 16 评论 -
动态内存管理
动态内存管理原创 2022-04-09 12:01:38 · 1207 阅读 · 14 评论 -
详解结构体
目录结构体结构体类型的声明结构的自引用结构体变量的定义和初始化🟥结构体内存对齐修改默认对齐数结构体传参结构体实现位段结构体实现位段的内存分配枚举联合(共用体)联合类型的定义联合大小的计算结构体为什么要创建结构体类型?在我们处理复杂对象的时候,比如描述一个人的时候,它有名字,性别,身高,体重等一些方面的特征。用结构体打包描述的时候就比较方便。结构体类型的声明结构体类型的关键字struct。声明的基本模板为:struct 标签{成员;}变量;结构体的成员可以是不同的类型。结构体类型原创 2022-04-05 18:57:40 · 1368 阅读 · 15 评论 -
C语言实现通讯录
通讯录原创 2022-04-04 16:08:53 · 2276 阅读 · 20 评论 -
库函数讲解及模拟实现库函数
库函数及其模拟库函数原创 2022-03-30 12:16:02 · 2527 阅读 · 20 评论 -
操作符详解
一文解决操作符问题原创 2022-03-09 22:28:33 · 514 阅读 · 17 评论 -
数据的储存
数据在内存中的储存原创 2022-03-06 12:24:00 · 906 阅读 · 17 评论 -
详解C指针+小型计算器项目
指针1. 字符指针2. 数组指针3. 指针数组4.数组传参和指针传参5. 函数指针6. 函数指针数组7. 指向函数指针数组的指针8. 回调函数原创 2022-03-14 15:12:40 · 12805 阅读 · 67 评论 -
C站最简单入门并且手把手教你学数组
数组讲解原创 2022-02-23 22:41:41 · 669 阅读 · 24 评论 -
c站最好的快速入门——函数
函数原创 2022-01-30 16:43:48 · 1197 阅读 · 19 评论 -
小型项目——扫雷游戏(模块化实现)
扫雷游戏原创 2022-01-23 20:40:38 · 4759 阅读 · 27 评论 -
用最简单的语言实现三字棋——完全代码化
三子棋原创 2022-01-22 19:36:48 · 3691 阅读 · 18 评论 -
1.printf()2.scanf()
1.printf()2.scanf()1.printf()2.scanf()scanf()库函数为读入函数,从键盘上读入,读入时先储存到一个名为缓冲区的储存区域,遇到'\n'(即键盘上的Enter回车键)停止读入,下面就开始sacnf从缓冲区进行数据的读取,在遇到空格和非打印字符时停止读入,剩下的数据仍在缓冲区中储存着,等待着下一次的读取。看下面这个题目:描述输入一个学生各5科成绩,输出该学生各5科成绩及总分。输入描述:一行,输入该学生各5科成绩(浮点数表示,范围0.0~原创 2021-12-23 15:36:52 · 944 阅读 · 10 评论 -
关键字static#define 定义常量和宏
目录关键字static#define 定义常量和宏指针1.static可以修饰局部变量,全局变量,函数。修饰局部变量时可以使局部变量的生命周期变长。原创 2021-12-22 08:00:00 · 682 阅读 · 9 评论 -
C语言——分支,循环语句
目录分支语句:if--else语句,switch--case语句循环语句:while循环,for循环,do--while循环1.分支语句话说小乐最近在表白一个女孩,他面临一个问题就是:1.那个女孩也喜欢他,他就能追到.2. 女孩没有回复他,说明还有可能3.那个女孩不喜欢他,他追不到.那么,我们怎么可以帮他实现呢?我们把女孩喜欢他为1,不喜欢他为0看下面的代码!那个女孩的选择交给读者手中#include <stdio.h>int main(){ int x;..原创 2022-01-15 19:58:15 · 1667 阅读 · 62 评论 -
什么?这就是传说中的c语言讲解
今天又学习初识c语言,大致学习了以下内容:1.常量字面常量如:#include<stdio.h>int main(){ 1; 2; return 0:}const修饰的常量:如const int a=1;它修饰的常量有一个特点-----变量a不能更改。#include<stdio.h>int main(){ const int a=1; a=2;//此处编译器会报错。 return 0;}#define定义的标识原创 2021-09-28 19:59:58 · 343 阅读 · 0 评论 -
2021-09-27
我是刚学C语言的大一学生,昨天晚上包括今天上午又重新开始学习了C语言:什么是C语言C语言是一种计算机语言2 第一个C语言程序#include<stdio.h>int main(){printf(“hellow world”) ;return 0;} 3 数据类型 int short long long long char double float 4 变量 用数据类型声明变量 如 int a;就是声明一个整型变量a. 5 变量的生命周期与作用原创 2021-12-13 12:18:53 · 833 阅读 · 0 评论