C/C++ 多态的原理:vptr 指针和 vtable 虚函数表 多态是 C++中的重要内容,也是设计模式的基础。 形成多态的几个基本条件为: 继承和虚函数 父类对象指向子类对象 多态形成的原理就是 vptr 指针和 vtable 虚函数表,当一个类中有虚函数时,编译器就会自... 04 月 10 日1,658评论面试 阅读全文
C/C++ socket 多路 IO 复用之 select 模型 select 模型是 socket 中的一种多路 IO 复用模型之一,通过轮询的方式来完成多路访问控制。 一个很简单的例子来描述 select 模型: 幼儿园老师要照顾所有的小朋友,每天他都会轮流去问小朋友:「小朋... 04 月 09 日611评论socket 阅读全文
C/C++ C++中的多态:virtual 关键字 面向对象的三大基本特征:封装、继承和多态。类对象通过 public/private/protected 关键字实现对象的封装,封装后通过继承实现多样性,而这个多样性又需要通过多态来完成。 假设要实现一个攻... 04 月 08 日157评论 阅读全文
C/C++ C++类中 const 类型成员变量的初始化 const 修饰的变量是不可更改的,在 C++ 11 标准中可以使用以下方式初始化: [crayon-6866ca4711b79237900921/](更多…) 04 月 08 日509评论 阅读全文
C/C++ 面试题:C++中 malloc/free/new/delete/new[]/delete[] 的差别 一、几者的区别 malloc/free 是 c 语言中分配内存空间的函数,malloc 创建空间,free 释放空间。 new/delete 是 c++中分配内存的操作符,new 创建空间,delete 删除空间。 n... 04 月 07 日181评论面试 阅读全文
C/C++ 指针数组、数组指针和函数指针 以下数据声明都代表什么含义: float(**def)[10]; double*(*gh)[10]; double(*f[10])(); int*((*b)[10]); long (*fun)int;... 04 月 07 日142评论面试 阅读全文
C/C++ 链表的遍历和反转 一、链表的遍历 链表的遍历算是十分简单了,从头到尾获取 next 指针的值,如果 next 不为 0,一直打印。 [crayon-6866ca47123e0957649798/] 这是一个链表和双向链表都可以使... 03 月 25 日275评论编程语言 阅读全文
C/C++ 计算机中的字节序 一、概述 字节序用来表示数据在内存中的排布方式,它分为两种:高字节序和低字节序,也被称为大小字节序。因为内存是从低到高布局,所以如果内存的低位存的是数据的低位,该字节序被称为低字节序。而如果内存的低位... 03 月 19 日522评论 阅读全文
C/C++ C++构造函数的执行顺序 一、构造函数的执行规则 C++构造函数的调用顺序为: 如果类中包含静态成员变量,先执行静态成员变量的构造函数。 如果类是派生类,则先执行基类的构造函数。同样如果基类也是一个派生类,它也要先执行基类的构... 03 月 15 日157评论 阅读全文