摘要: 在C语言中,强制类型转换的方式为(Type)Expression,另外还有一种现在已经不用的旧式写法Type(Expression),这两种方式是等价的。 但是,C语言的强制类型转换方式存在一些问题: 过于粗暴,可以在任意类型之间进行转换,编译器很难判断其正确性 难于定位,在源代码中无法快速定位所有 阅读全文
posted @ 2019-09-15 11:59 原野追逐 阅读(7618) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. new/delete C++中的动态内存分配 C++通过new关键字进行动态内存申请 C++中的动态内存申请是基于类型进行的 delete关键字用于内存释放 cpp include int main() { int p = new int; p = 5; p = p + 10; p 阅读全文
posted @ 2019-09-15 11:42 原野追逐 阅读(315) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. 函数参数默认 C++可以在函数声明时为参数提供一个默认值,若函数调用时没有提供参数的值,则使用默认值。 函数参数的默认值只能在函数声明中指定,在函数定义时不能再出现默认值,否则编译器会报错。 函数默认参数的规则 参数的默认值必须从右向左提供 函数调用时使用了默认值,则后续参数也必须 阅读全文
posted @ 2019-09-15 11:01 原野追逐 阅读(1466) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. Posix IPC 概述 以下三种类型的IPC合称为Posix IPC: Posix信号量 Posix消息队列 Posix共享内存 Posix IPC在访问它们的函数和描述它们的信息上有一些类似点,主要包括: IPC名字 创建或打开时指定的读写权限、创建标志以及用户访问权限 下表汇 阅读全文
posted @ 2019-09-15 08:37 原野追逐 阅读(1068) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. 引用的定义 C++新增加了引用的概念: 引用可以看作一个已定义变量的别名 引用的语法 2. 引用的本质 引用在C++中的内部实现是一个常量指针 C++编译器在编译过程中使用常量指针作为引用的内部实现,因此引用所占用的内存大小和指针相同 从使用的角度,引用只是一个别名,C++为了实用 阅读全文
posted @ 2019-09-14 20:47 原野追逐 阅读(537) 评论(0) 推荐(0) 编辑
摘要: [Toc] 1. 内联函数的声明 在C++中,const常量可以代替宏常数定义,而宏代码段则推荐使用内联函数来代替。 C++中使用 关键字声明内联函数 inline只是一种请求,编译器不一定允许这种请求 inline关键字必须和函数定义结合在一起,否则编译器会直接忽略内联请求 include def 阅读全文
posted @ 2019-09-14 13:03 原野追逐 阅读(291) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. 线程同步概述 线程同步定义 线程同步,指的是控制多线程间的相对执行顺序,从而在线程间正确、有序地共享数据,以下为线程同步常见使用场合。 多线程执行的任务在顺序上存在依赖关系 线程间共享数据只能同时被一个线程使用 线程同步方法 在实际项目中,经常使用的线程同步方法主要分为三种: 互斥 阅读全文
posted @ 2019-09-14 12:54 原野追逐 阅读(1100) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. C与C++的关系 C++继承了所有的C特性 C++在C的基础上提供了更多的新的语法和特性 C++的设计目标是运行效率与开发效率的统一,其开发效率高于C语言 2. 变量声明与定义 变量可以在使用时定义 C++更强调语言的实用性,所有的变量都可以在需要使用时再定义 C语言中的变量必须在 阅读全文
posted @ 2019-09-13 16:48 原野追逐 阅读(601) 评论(5) 推荐(0) 编辑
摘要: 我个人对可重入函数的理解如下: 可重入函数需要指明可重入对象,分为线程可重入函数和信号可重入函数 线程可重入函数是可以被多个线程同时调用、且保证安全的函数,也叫做线程安全函数 信号可重入函数是在信号处理程序中保证调用安全的函数,也叫做异步信号安全函数 下图是APUE书中所说的POSIX.1中不能保证 阅读全文
posted @ 2019-09-13 16:28 原野追逐 阅读(669) 评论(0) 推荐(1) 编辑
摘要: [TOC] 1. 线程与进程 线程的概念 线程是进程内相对独立的一个执行流,是进程内的一个执行单元,是操作系统中一个可调度的实体。 深入理解进程和线程 在现代操作系统中,资源分配的基本单位是进程,而CPU调度执行的基本单位是线程 进程不是调度单元,线程是进程使用CPU资源的基本单位 进程有独立的地址 阅读全文
posted @ 2019-09-13 16:15 原野追逐 阅读(543) 评论(0) 推荐(0) 编辑