VVVv_0427的博客

C语言大作战行动

【C++】虚继承——菱形继承问题(内存布局图解)

【C++】虚继承——菱形继承问题(内存布局图解) (这一块的内容给出七个例子来理解~有问题的话可以评论留言哟) 先给出一段含有虚继承的代码: #include<iostream> using namespace std; class A {...

2019-02-19 19:32:06

阅读数 90

评论数 0

隐藏和覆盖、多态、虚函数【C++】

【C++】隐藏和覆盖 隐藏: overhide 派生类中隐藏了基类中所有的同名函数 ①同名、不同参 ②继承关系下的不同作用域 覆盖:派生类中同名同参的虚函数覆盖基类中同名同参的虚函数 ①同名同参 ②继承关系下的不同作用域 ③均为虚函数   隐藏: class Base { ...

2019-01-15 21:30:18

阅读数 1207

评论数 3

【C++】继承①

【C++】继承① 继承的写法 类标识 类名 : 继承方式 基类名称 继承的本质:代码复用 例如:class Student : public People (Student是子类/派生类,People是父类/基类,Student以public方式继承了People类) #include...

2019-01-11 19:44:16

阅读数 39

评论数 0

【C++】类的6个默认函数(一)

【C++】类的6个默认函数(一) (本blog主要讲前三个类的默认函数,即:构造函数、析构函数、拷贝构造函数) 类的6个默认函数为: 1、构造函数 2、析构函数 3、拷贝构造函数 4、赋值运算符的重载函数 5、取地址操作符的重载函数 6、const修饰的取地址操作符的重载函数 特...

2018-12-05 20:08:08

阅读数 34

评论数 0

【C++】类和对象

【C++】类和对象 类和对象oop:是对现实中一组具有相同特征的实体模型。 属性:独享 行为:共享 举一个学生类的例子: #include<iostream> class Student { public: void eat() {...

2018-12-05 19:15:35

阅读数 30

评论数 0

namespace名字空间作用域、using

namespace名字空间作用域、using namespace名字空间作用域 namespace名字空间作用域用于解决名字相同冲突的问题。 using namespace std;//C++标准std 以下代码就明显的表示了namespace中的变量和全局变量之间的调用区别。 nam...

2018-11-28 20:57:23

阅读数 42

评论数 0

new和delete

new和delete C语言中使用的是malloc动态开辟内存,用free销毁内存。 //C语言malloc、free int main() { //① int *p1=(int *)malloc(sizeof(int)); free(p1); //② int *p2 = (int...

2018-11-28 11:40:09

阅读数 29

评论数 0

【Linux】管道文件(有名管道、无名管道)

【Linux】管道文件(有名管道、无名管道) 多进程编程的目的就是为了同时完成多个任务。 例如:一个产品,一个软件,需要n个进程同时执行才能完成,而这些进程之间一定是有所联系的。 因此:多进程工作时,进程间需要通讯(传递数据)。 fork()创建的子进程,与父进程之间唯一共享的是文件描述符...

2018-11-24 21:55:18

阅读数 571

评论数 0

【C++】调用约定+返回值的返回方式

【C++】调用约定+返回值的返回方式 调用约定 ①_cdecl C标准调用约定 调用方开辟内存,调用方清理 ②_stdcall Windows标准调用约定 调用方开辟内存,被调用方清理 ③_fastcall 快速调用约定 最多使用2个寄存器代入实参,其他参数和_stdcall的处理方...

2018-11-14 20:13:38

阅读数 37

评论数 0

【C++】函数堆栈调用(含一些简单汇编指令)

【C++】函数堆栈调用(含一些简单汇编指令) 关于汇编的一些知识点+指令 Windows:Inter x86 Linux:AT&T 指令: ①mov 移动数据 例如:mov , dword ptr[ebp-4] , 0ah; (ebp:栈底指针寄存器) ②l...

2018-11-14 20:05:54

阅读数 48

评论数 0

【C++】编译、链接、运行原理+强弱符号

【C++】编译、链接、运行原理+强弱符号 虚拟地址空间 作用:进程地址空间需要隔离,防止恶意的程序修改其他程序的内存数据,所以计算机需要虚拟地址空间 其中: .data:已经初始化,并且初始化不为0的数据。 .bss:未初始化,或者初始化为0的数据。 例如: #include&...

2018-11-14 19:16:58

阅读数 38

评论数 0

【数据结构】【排序】选择排序(直接选择排序、堆排序)

【数据结构】【排序】选择排序 ①简单选择排序 每次从序列中找出最大/最小元素,插入已排列部分的最后。 过程: 1、设一个变量min,先放在第一个元素的位置,设i,j,i=0,j=i+1。 2、在未排序数组中找到最小的赋给min,与i比较,开始交换 3、i++  j++ 代码展示:...

2018-10-31 21:47:49

阅读数 27

评论数 0

【数据结构】【排序】插入排序(直接插入排序、希尔排序)

【数据结构】【排序】插入排序 插入排序可分为直接插入排序及希尔排序 ①直接插入排序 步骤如下: 1、将数组分为2部分:已排序部分、待排序部分 2、每次从待排序部分中拿出元素,在已排序部分中找到合适的位置插入元素 思想:将一个记录插入到已排序好的有序表中,从而得到一个新记录数增1的有序表...

2018-10-30 17:43:56

阅读数 72

评论数 0

【Linux】用户管理

【Linux】用户管理 Linux允许多用户同时登陆工作的系统。 root 超级管理员,拥有最高权限,是第一启动设置的用户 管理员分配:root用户能够管理其他用户 关于用户的信息存储位置 ①/etc/passwd 存储密码 ②/etc/group 组 ③/etc/s...

2018-10-24 20:14:00

阅读数 46

评论数 0

【Linux】进程管理命令

【Linux】进程管理命令 进程管理命令 进程:运行中的程序(是一个动态的过程概念)执行时,将程序加载到内存上 程序:存储在磁盘上的可执行的二进制文件 时间片轮转法: CPU的执行时间划分为很小的时间片,每个进程在CPU上运行,一次只分配一个时间片。   Linux系统上,/pr...

2018-10-24 19:55:07

阅读数 32

评论数 0

【Linux】文本编译器命令模式下的操作(光标的移动、搜索字符串操作)+文件的查看压缩操作

【Linux】文本编译器命令模式下的操作(光标的移动操作)+文件的查看压缩操作 输入vim/vi进入文本编译器中,在命令模式下, 光标的移动命令操作: shift+4 :将光标移到本行最后一个位置 shift+6 :将光标移到本行第一个位置 gg:将光标移到第一行 G / shift+...

2018-10-23 22:29:59

阅读数 96

评论数 0

【数据结构】带头结点的单链表

【数据结构】带头结点的单链表 链表:逻辑连续,物理上不一定连续 带头结点的单链表: 结构体: //定义结构体 typedef int ELEM_TYPE; typedef struct Node { ELEM_TYPE mdata; struct Node* pnext; }No...

2018-10-16 11:39:38

阅读数 66

评论数 0

【数据结构】定长顺序表

【数据结构】顺序表 关于基础数据结构,分为两类: ①线性:数组、链表、顺序表 ②非线性:树、图   顺序表和链表的区别: 顺序表:逻辑连续、物理连续 链表:逻辑连续、物理不一定连续   顺序表可细分为两类: ①定长顺序表(在栈内操作) ②不定长顺序表(可扩容,在堆内操作) ...

2018-09-29 18:19:44

阅读数 60

评论数 0

【Linux】文件操作基本命令

【Linux】文件操作基本命令 分为普通文件和目录文件两类来进行讨论 ①创建 普通文件:touch filename(带上扩展名) 例如:touch main.c 目录文件:mkdir dirname(无扩展名) 例如:mkdir test ②删除 普通文件:rm dirn...

2018-09-27 16:06:38

阅读数 51

评论数 0

【Linux】目录下的操作(ls cd pwd)

【Linux】关于Linux目录下的操作(ls cd pwd) Linux和Windows均是操作系统,不同之处在于Linux是基于命令行的OS,Windows是基于图形化界面的OS Linux文件存储层次结构:树状结构 /home:普通用户的家目录,每个用户都会在/home下有一个同名...

2018-09-17 18:27:07

阅读数 287

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭