自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 指针和数组的区别

总结:1、基本概念: 数组:一个数组名就代表一个数组对象,这个对象内可以有一个或多个元素,每个元素类型都相同; 指针:而指针里一般存的都是地址值。2、赋值与访问:数组:对于数组来说,它的内存地址在编译的时候就已经确定了,可以直接给它赋值,当然也可以直接对它进行访问。指针:对于指针来说,先得得到指针里存放的地址值,然后向这个地址赋值;3、所占内存:数组:和它所存数据的

2017-06-13 20:16:12 400 1

原创 虚函数与虚表

一、虚函数:加virtual关键词的函数虚函数作用:C++中的多态,进行动态绑定(父类指针可指向子类的对象),直到运行时才知道要具体调用哪个版本(哪个类定义)的函数;它是通过虚表实现的,简单理解如下:代码分析:#includeusing namespace std;class Base{public:     virtual void f() { cout

2017-06-09 19:22:08 354

原创 构造函数和析构函数的种种重要小点

1、构造函数生成的顺序:       建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为: a、b、c。2、构造函数为什么不能是虚函数?       虚函数对应一个虚表,而且这个虚表存储在对象的内存空间,如果构造函数是虚函数,就需要虚表来调用,但是没有调用构造函数,就没有对象,更没有内存空间,所以说,构造

2017-06-09 15:40:53 390

原创 进程之间的通信

fork:僵尸进程:什么僵尸进程,如何避免僵尸进程?   一般来说,父进程需要跟踪子进程的退出状态,所以子进程结束之后,父进程读取其退出状态之前,该子进程处于僵尸状态,还有一种是,父进程先于子进程结束,则子进程处于僵尸状态。    父进程可以通过调用wait()函数避免僵尸进程。因为wait()函数(阻塞的)将等待子进程结束运行,并捕获子进程的退出状态。    也可以通

2017-06-09 14:42:59 308

原创 线程之间的通信

一、线程基础1、线程一般有两种,内核线程和用户线程。内核线程(轻量级进程):运行在内核,由内核来调度;用户线程:运行在用户空间,由线程库来调度,当它获得CPU的使用权时,它就加载并运行。2、内核的最小调度单位是进程,CPU最小的调度单位是线程。3、关于线程的API **********创建线程**********int pthread_create(pthread_t *t

2017-06-09 14:40:45 248

原创 Linux进程虚拟地址空间的分布、以及堆和栈的区别

一、具体分布如图所示:二、关于堆和栈(1)分配方式: 栈:由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 堆:  一般由程序员分配释放,它的分配方式类似于链表。(2)申请后系统的响应:  栈:只要所申请的空间小于栈的剩余空间,则系统为程序分配内存,否则栈溢出。  堆:操作系统有一个记录空闲内存地址的链表,当系统收到程序的

2017-06-08 14:47:51 1089

原创 Linux下虚拟地址映射

一、基本概念:1、Linux下比较重要的点:虚拟地址空间、虚拟内存、交换分区2、Linux下的四种地址:逻辑地址、线性地址、虚拟地址、物理地址3、Linux下的两种映射:实模式下的地址映射、保护模式下的地址映射(内存的分段式映射、内存的分页式映射)4、平时定义的变量,打印变量的地址是逻辑地址5、cpu的位数是指cpu的计算能力,即一次性能计算的最长整数的字节(ALU的宽度)(数

2017-06-04 18:15:02 936

原创 快速排序

代码:#includeusing namespace std;int Partion(int *arr,int low,int high)//划分过程{ if(arr == NULL || low>=high || low<0 || high<0) return -1; int tmp = arr[low]; while(low <

2017-06-01 18:13:30 196

原创 同步、异步、阻塞、非阻塞

一、概念1.同步与异步  同步和异步关注的是消息通信机制所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由*调用者*主动等待这个*调用*的结果。而异步则是相反,*调用*在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在*调用*发出后,*被调

2017-06-01 17:37:05 216

原创 二维数组的创建

#includeusing namespace std;int main(){ //方式一:用new开辟 int **a = new int*[10]; for(int i=0;i<10;++i) { a[i] = new int[3]; } for(int i=0;i<10;++i) {

2017-06-01 17:19:11 298

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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