暂无搜索历史
但是随着互联网的飞速发展,这种划分方案的局限性很快显现出来,A 类地址很容易浪费,于是提出了新的划分方案:CIDR(Classless Interdomain ...
协议本质也是软件,为了更好的模块换,降低耦合度,所以被设计为层状结构。在Linux网络协议栈中,各个层次协同工作,以实现数据的封装、传输、路由和接收。从底层到高...
大部分情况,线程使用的数据都是局部变量,变量的地址空间在线程栈空间内,这种情况,变量归属单个线程,其他线程无法获得这种变量。 但有时候,很多变量都需要在线程间...
进程是承担分配系统资源的基本实体,线程不参与分配,只需要划分进程的资源就可。新线程和主线程谁先运行,是不确定的。线程创建出来,要对进程的时间片进程瓜分。 也就...
我们知道进程具有独立性,但是在一些场景中进程间也需要通信,那怎么实现进程间的通信呢?
在windows中是文件的东西,在linux中也是文件;其次一些在windows中不是文件的东西,比如进程、磁盘、显示器、键盘这样硬件设备也被抽象成了文件,你可...
C语言中文件操作,在操作一个文件之前我们首先要打开它,那么在学了一段时间操作系统后,你知道在操作一个文件之前为什么要先打开吗? 文件存储在磁盘上,CPU执行进...
把程序运行起来,本质就是在系统中启动了一个进程。进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合。Linux操作系统下的PCB是task_...
数据在默认不修改的情况下是共享的,不各自拷贝一份是因为父子进程间的数据大部分是重复的,一般只有少量数据需要修改,因为各自拷贝一份浪费空间。
如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与 接收返回值类型不一致时,就需要发生类型转化,转换的前提是类型之间有一定的关联。
一个类不能被拷贝的需求还是比较常见的,比如IO流、线程等。 拷贝只会发生在两个场景中:拷贝构造和赋值重载,所以想让一个类不能被拷贝,只需要让这个类的拷贝构造和...
什么是内存泄漏:内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,...
C++异常是C++编程语言中用于处理运行时错误的一种机制。它允许程序在检测到无法处理的错误条件时,通过抛出异常(使用throw关键字)来跳出正常的执行流程,并立...
C++中有时候模版也需要可变参数,C++11的新特性可变参数模板可以接受可变参数的函数模板和类模板,而C++11之前的类模版和函数模版中只能含固定数量的模版...
传统的C++语法中就有引用的语法,而C++11中新增了的右值引用语法特性,所以从现在开始我们之前学习的引用就叫做左值引用。无论左值引用还是右值引用,都是给对象取...
相比于C++98,C++11在C++98的基础上进行了大量的改进和扩展,包含了很多新特性,也包括对一些缺陷的修正,这些新特性和改进不仅提高了代码的质量和效率,还...
上篇文章我们简单地实现了哈希表,本篇文章将基于开散列实现的哈希表封装出unordered_set和unordered_map的基本功能。 本文不再从头实现哈希...
AVL树、红黑树等平衡树搜索效率取决于搜索过程中的比较次数,一般时间复杂度为O(logN),虽然平衡树的搜索效率已经很快,但如果可以不经过任何比较或者常数次的比...
前面我们介绍了set和map的底层细节,在上篇文章中也简单实现了红黑树,而我们知道set和map的底层就是依靠红黑树实现的,那么在本文我们将学习如何基于红黑树来...
暂未填写公司和职称
暂未填写个人简介
暂未填写技能专长
暂未填写学校和专业
暂未填写个人网址
暂未填写所在城市