暂无搜索历史
当CPU资源有限而进程众多时,操作系统如何决定谁先执行?这就是进程调度的关键。本文将简明解析进程调度的三大核心:优先级决定顺序,进程切换实现并发,O(1)算法保...
我前面几篇文章已经介绍过的STL中的部分容器如:string、vector、list、deque还有我没有介绍的array、forward_list等,这些容器...
有了上篇文章的基础上,我们在学习进程之前,要知道,操作系统是怎么管理进行进程管理的呢?很简单,先把进程描述起来,再把进程组织起来! 通过将每个进程的属性信息封...
理解Linux,始于理解计算机本身。本文将追溯至计算机的源头——冯·诺依曼体系结构,为您解答计算机如何协调工作、操作系统如何管理软硬件资源这两个核心问题,为您的...
在Linux开发环境中,我们经常需要编译和构建复杂的项目。手动一个个编译源文件不仅效率低下,而且容易出错。这时候,make和Makefile就成为了每个Linu...
在Linux环境下进行C/C++开发,掌握编译器gcc/g++和调试器gdb/cgdb的使用是每个开发者必备的核心技能。本文将系统性地讲解从源代码到可执行程序的...
Vim作为Linux系统中最强大的文本编辑器之一,以其高效的操作方式和强大的功能深受开发者喜爱。本文将全面介绍Vim编辑器的使用技巧,帮助您从新手快速成长为Vi...
命令:su [用户名] 功能:切换用户。 例如,要从root用户切换到普通用户user,则使用su user。 要从普通用户user切换到root用户则使...
在正式学习 Linux 之前,最重要的一步就是搭建好运行环境。 许多初学者在这一步往往会遇到各种问题:系统安装复杂、虚拟机配置麻烦、命令行连接失败……
这里就体现出了平衡二叉搜索树的价值——它既保持了二叉搜索树的动态操作优势,又通过平衡机制保证了 O(\log N) 的操作效率。 在此基础上,我们就可以对二...
多态(polymorphism)的概念:通俗来说,就是多种形态。多态分为编译时多态(静态多态)和运行时多态(动态多态),这里我们重点讲运行时多态,编译时多态(静...
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许我们在保持原有类特性的基础上进行扩展,增加方法(成员函数)和属性(成员变...
我们再对于前面的说明做一个总结: 优先级队列默认使用vector作为其底层存储数据的容器,在vector上又使用了堆算法将vector中元素构造成堆的结构,因...
是因为它在现有容器的基础上,通过限制功能、改变接口,来“适配”出栈这种特定的数据结构。 也就是说,它的底层,可以是已有的容器,比如:list、vector...
我们对于list的学习和前面string与vector类似,先看官方文档:【list的文档介绍】:
首先,对于string类的学习我们也可以参考: 【string类文档介绍】 然后,在此之前,我们在这里学习2个C++11的小语法,方便我们后面的学习:
对于vector的学习,和list的学习基本一样,先会用,再可以自己模拟实现vector就行,那我们就围绕着两个方面来说明吧。 vector学习参考文档【ve...
通常情况下,使用模板可以实现一些与类型无关的代码,但对于一些特殊类型的可能会得到一些错误的结果,需要特殊处理, 比如:实现了一个专门用来进行小于比较的函数模板
如果在C++中,也能够存在这样一个模具,通过给这个模具中填充不同材料(类型),来获得不同材料的铸件(即生成具体类型的代码),那将会节省许多头发。巧的是前人早已将...
对于C语言中的内存管理方式可参考:【C语言中动态内存管理】,有助于我们在偏底层一点的了解C++内存管理方式。
暂未填写公司和职称
暂未填写个人简介
暂未填写技能专长
暂未填写学校和专业
暂未填写个人网址
暂未填写所在城市