- 博客(8)
- 收藏
- 关注
原创 c++友元函数简析
1.友元函数的基本介绍(1)友元函数是可以直接访问类的私有成员的非成员函数(只有类的成员函数才能访问类中的私有成员)。友元函数是定义在类外的普通函数,不属于任何类,但需要在类的定义中加以声明,声明时只需在友元函数的名称前加上关键字friend 。定义格式:friend+返回类型+函数名+参数列表例如:friend void Show(inta);(2)在类外实现时不用类的作用域
2018-03-30 20:05:51
497
原创 C++ new和delete 的用法
new与delete是C++预定的操作符,它们一般需要配套使用。new用于从堆内存申请一块空间,一般动态用于动态申请内存空间,即根据程序需要,申请一定长度的空间,而delete则是将new申请的空间释放。1.new的使用使用new运算符时必须已知数据类型,new运算符会向系统堆区申请足够的存储空间,如果申请成功,就返回该内存块的首地址,如果申请不成功,则返回零值。 一般使用格式: 格式1...
2018-03-30 20:03:02
421
原创 c++运算符重载的简要剖析
一、运算符重载的定义 C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。运算符重载的实质是函数重载,它提供了C++的可扩展性,也是C++最吸引人的特性之一。二、运算符重载的规则1)除了类属关系运算符"
2018-03-30 20:00:35
146
原创 Linux 有名管道
1.进程间通信一般有六种方式:信号、管道、信号量、消息队列、共享内 存、套接字。2.管道的产生原因 为了解决管道不能提供非父/子关系进程间通信的缺陷,在管道的基础上发展了有名管 道(FIFOs)的概念尽管管道在 Linux 系统内部是以文件节点(inode)的形 式存在的,但是由于其对外的不可见性( “无名”性) ,我们无法创建新的句柄对其进行访问。而有名管道在Li
2018-03-30 19:59:37
703
原创 linux-进程间通信-消息队列
1.消息队列的概念:消息队列是一种临时存储消息的队列,可以完成进程间的数据传递。即消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。2.消息队列的操作(1)创建和访问消息队列(使用shmget函数实现)int shmget((key_t)key,size_t size,int
2018-03-30 19:58:48
102
原创 C++ 多态的简单实现
多态性与封装性、继承性构成了面向对象程序设计的三大特征。程序的运行过程:编译(生成目标文件)、链接(生成可执行文件)、运行。一、多态的概述 多态是指同样的消息被不同类型的对象接收时导致完全不同的行为。 所谓消息是指对类的成员函数的调用,不同的行为是指不同的实现,也就是调用了不同的函数。运算符的使用,就是多态的一种体现。 从实现的角度来看,多态可以划分为两类:编
2018-03-30 19:58:11
316
原创 linux-进程间通信-共享内存
一、共享内存的概念 共享内存就是在内存上找一块空间,多个进程可以同时使用这块空间来传输数据,这块空间是这几个进程所共享的。 正因为这块空间共享,属于这几个进程中的每一个进程,所以这块内存属于临界资源,使用的时候需要用信号量进行同步控制。 共享内存是最快的一种IPC(进程间通讯方式)。 共享内存在各个进程中都有直接的指针指向开辟内存区域,在访问时当做本进程中的一
2018-03-30 19:57:05
97
原创 2018 小知识
一、堆和栈的区别?堆和栈 分为 操作系统上的堆和栈还有数据结构中的堆和栈(1)操作系统上的堆和栈的概念如下:栈:由操作系统自动分配释放,存放函数的参数值,局部变量等,操作方式就是先进后出。堆:分配方式类似于链表,一般由程序员分配释放,如果程序员不释放,程序结束可能会由操作系统会自动回收。数据结构上的堆和栈概念如下:栈:一种先进后出的数据结构。堆:在数据结构中 堆
2018-03-30 19:54:53
123
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人