
深入理解C++及数据结构
文章平均质量分 89
不定期更新C++及数据结构方面的知识。
章鱼脚
这个作者很懒,什么都没留下…
展开
-
进程的概念&&进程的描述&&进程控制块(task_struct)
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。原创 2016-07-24 06:54:52 · 942 阅读 · 0 评论 -
Linux内核的一种数据结构——task_struct
task_struct是Linux内核的⼀一种数据结构,它会被装载到RAM⾥里并且包含着进程的信息。 每个进程都把它的信息放在task_struct 这个数据结构⾥,task_struct对于对进程的了解及运行状态和处理机制有很大的作用。希望加深大家对它的理解。原创 2016-07-24 23:23:26 · 1224 阅读 · 0 评论 -
shared_ptr造成的循环引用&&解决方法和原理(弱引用&&强引用)
内存泄漏及浪费都是每个程序员非常忌讳的事情,但是稍有不慎就会造成不可弥补的损失,这里就这能指针sheard_ptr造成的循环引用及造成循环引用的原因我给大家给出了详细的图解及举例说明,同时也提供了避免这种循环引用的解决办法,就针对弱引用这一点做出了详细的解释,就针对shared_ptr和weak_ptr这两种智能指针的作用和用法也相加说明使得读者可以从代码及图例两方面对循环引用及解决办法有更深的认识。原创 2016-04-28 00:45:12 · 11849 阅读 · 0 评论 -
(继承及其访问限定符)&&(派生类及其默认成员函数)&&(赋值兼容规则)
◆继承: ★继承概念继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能。这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。C++继承分为公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。在C++语言中,一个派生类可以从一个基类派生,也可以从多个基类派生。从一个基类派生的继承称为单继承;从多个基类派生的继承称为多继承。原创 2016-04-25 16:05:57 · 3598 阅读 · 0 评论 -
深入理解虚表之非虚拟继承及虚拟继承
在C++语言中,每个有 虚函数的类或者虚继承的子类,编译器都会为它生成一个虚拟函数表(简称:虚表),表中的每一个元素都指向一个虚函数的地址。(注意:虚表是从属于类的)此外,编译器会为包含虚函数的类加上一个成员变量,是一个指向该虚函数表的指针(常被称为vptr),每一个由此类别派生出来的类,都有这么一个vptr。虚表指针是从属于对象的。也就是说,如果一个类含有虚表,则该类的所有对象都会含有一个虚表指针,并且该虚表指针指向同一个虚表。虚表的内容是依据类中的虚函数声明次序--填入函数指针。派生类别会继承基础类别的原创 2016-04-16 09:52:57 · 1287 阅读 · 0 评论 -
函数模板与模板函数及模板类与模板的特化
函数模板( Function templates)模板(Templates)使得我们可以生成通用的函数,这些函数能够接受任意数据类型的参数,可返回任意类型的值,而不需要对所有可能的数据类型进行函数重载。这在一定程度上实现了宏(macro)的作用。它们的原型定义可以是下面两种中的任何一个:template <class identifier> function_declaration;template <typename identifier> function_declaration;上面两种原原创 2016-04-25 00:07:50 · 3931 阅读 · 0 评论