09 2021 档案
摘要:进程通信中的管道实现原理是什么? 操作系统在内核中开辟一块缓冲区(称为管道)用于通信。管道是一种两个进程间进行单向通信的机制。因为这种单向性,管道又称为半双工管道,所以其使用是有一定的局限性的。半双工是指数据只能由一个进程流向另一个进程(一个管道负责读,一个管道负责写);如果是全双工通信,需要建立两
阅读全文
摘要:说说 C++11 的新特性有哪些 C++新特性主要包括包含语法改进和标准库扩充两个方面,主要包括以下11点: 语法的改进 (1)统一的初始化方法 (2)成员变量默认初始化 (3)auto关键字 用于定义变量,编译器可以自动判断的类型(前提:定义一个变量时对其进行初始化) (4)decltype
阅读全文
摘要:拷贝构造函数的参数必须是一个引用 多态: 用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。实现多态,有二种方式,重写,重载。 由于派生类重写基类方法,然后用基类引用指向派生类对象,调用方法时候会进行动态绑定,这就是多态。 多态分为静态多态和动态多态: 静态多态:编译器在编
阅读全文
摘要:内存分成5个区:堆、栈、全局/静态存储区、自由存储区、常量存储区 什么是内存泄露? 简单地说就是申请了一块内存空间,使用完毕后没有释放掉。(1)new和malloc申请资源使用后,没有用delete和free释放;(2)子类继承父类时,父类析构函数不是虚函数。(3)Windows句柄资源使用后没有释
阅读全文
摘要:我们先来看一段简单代码,A类有一个指针成员_pa,B类公有继承了A类,然后自己有一个指针成员_pb: class A{ public: A(int x = 1) :_pa(new int(x)) {} ~A() { cout << "~A()" << endl; } protected: int*
阅读全文
摘要:说说 static关键字的作用 定义全局静态变量和局部静态变量:在变量前面加上static关键字。初始化的静态变量会在数据段分配内存,未初始化的静态变量会在BSS段分配内存。直到程序结束,静态变量始终会维持前值。只不过全局静态变量和局部静态变量的作用域不一样; 定义静态函数:在函数返回类型前加上st
阅读全文
浙公网安备 33010602011771号