![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 82
子木呀
这个作者很懒,什么都没留下…
展开
-
二十万字C/C++、嵌入式软开面试题全集宝典十一
目录1、 红黑树的性质2、 红黑树的插入与旋转3、 红黑树与平衡二叉树4、 二叉平衡树、红黑树、B树、B+树的区别与联系5、 hello world 程序开始到打印到屏幕上的全过程?1、 红黑树的性质性质1.节点是红色或黑色。性质2.根节点是黑色。性质3.每个叶子节点都是黑色的空节点(NIL节点)。性质4.每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)性质5.从任一节点到其每个叶子的所有路.原创 2021-10-13 15:32:00 · 346 阅读 · 0 评论 -
二十万字C/C++、嵌入式软开面试题全集宝典十
目录1、 编码实现某一变量某位清0或置12、 分别写出BOOL,int,float,指针类型的变量a 与“零”的比较语句。3、 局部变量全局变量的问题?4、 数组和指针的区别?5、 C++如何阻止一个类被实例化?一般在什么时候将构造函数声明为private?6、 如何禁止自动生成拷贝构造函数?7、 assert与NDEBUGE8、 Debug和release的区别9、 main函数有没有返回值10、 写一个比较大小的模板函数11、 c++怎么实现一个函数先于m原创 2021-10-04 17:33:47 · 765 阅读 · 0 评论 -
二十万字C/C++、嵌入式软开面试题全集宝典九
目录161、 空类162、 空类会默认添加哪些东西?怎么写?163、 标准库是什么?164、 const char* 与string之间的关系,传递参数问题?165、 char * 与char[]166、 sizeof 和strlen 的区别167、 针对char*和char[]求sizeof()168、 new、delete、operator new、operator delete、placement new、placement delete169、 空类的大小是多少?原创 2021-10-04 17:23:22 · 459 阅读 · 0 评论 -
二十万字C/C++、嵌入式软开面试题全集宝典八
目录141、 迭代器++it,it++哪个好,为什么142、 C++如何处理多个异常的?143、 模板和实现可不可以不写在一个文件里面?为什么?144、 在成员函数中调用delete this会出现什么问题?对象还可以使用吗?145、 三个智能指针146、 智能指针怎么用?智能指针出现循环引用怎么解决?147、 智能指针的作用148、 auto_ptr作用149、 class、union、struct的区别150、 动态联编与静态联编151、 动态编译与静态编译原创 2021-10-04 17:21:11 · 346 阅读 · 0 评论 -
二十万字C/C++、嵌入式软开面试题全集宝典七
目录121、 怎样判断两个浮点数是否相等?122、 宏定义一个取两个数中较大值的功能123、 define、const、typedef、inline使用方法?124、 printf实现原理?125、 #include 的顺序以及尖括号和双引号的区别126、 lambda函数127、 模板类和模板函数的区别是什么?128、 为什么模板类一般都是放在一个h文件中129、 C++中类成员的访问权限和继承权限问题。130、 cout和printf有什么区别?131、 重载原创 2021-10-04 17:04:16 · 428 阅读 · 0 评论 -
二十万字C/C++、嵌入式软开面试题全集宝典六
目录101、 字节对齐有什么作用?102、 C语言中#pragma用法103、 new和malloc的区别?104、 malloc/calloc/realloc三者之间的区别?105、 delete p;与delete[]p,allocator106、 new和delete的实现原理,delete是如何知道释放内存的大小?107、 malloc申请的存储空间能用delete释放吗108、 函数参数入栈的顺序109、 堆和栈区别110、 堆与栈的优点和缺点111、原创 2021-10-04 16:56:55 · 543 阅读 · 0 评论 -
二十万字C/C++、嵌入式软开面试题全集宝典三
目录1、 构造函数析构函数可否抛出异常2、 类如何实现只能静态分配和只能动态分配3、 如果想将某个类用作基类,为什么该类必须定义而非声明?4、 什么情况会自动生成默认构造函数?5、 构造函数的扩展过程?6、 程序员定义的析构函数被扩展的过程?7、 构造函数的执行算法?8、 哪些函数不能是虚函数9、 虚函数的调用机制10、 什么是类的继承?11、 什么是多继承12、 什么是组合?13、 抽象基类为什么不能创建对象?14、 纯虚函数定义15、 虚...原创 2021-10-04 16:25:45 · 636 阅读 · 0 评论 -
二十万字C/C++、嵌入式软开面试题全集宝典二
目录1、静态绑定和动态绑定的介绍2、C语言struct和C++struct区别3、虚函数可以声明为inline吗?4、介绍 C++ 所有的构造函数5、 什么情况下会调用拷贝构造函数6、 为什么拷贝构造函数必须是引用传递,不能是值传递?7、 何时需要合成构造函数8、 何时需要合成复制构造函数9、 C++类的虚函数表和虚函数在内存中的位置10、 同一个类,实例化多次,是否共享虚函数表?11、 编译器处理虚函数表应该如何处理12、 类成员初始化方式?构造函数...原创 2021-10-04 16:18:10 · 444 阅读 · 0 评论 -
C++类对象在内存中的布局
目录一、前言二、C++ 类对象的内存布局2.1 只有数据成员的对象2.2 没有虚函数的对象2.3 拥有仅一个虚函数的类对象2.4 拥有多个虚函数的类对象三、继承关系中的C++类对象内存分布3.1 存在继承关系且本身不存在虚函数的派生类的内存布局3.2本身不存在虚函数(不严谨)但存在基类虚函数覆盖的单继承类的内存布局3.3 定义了基类没有的虚函数的单继承的类对象布局3.4 多继承且存在虚函数覆盖同时又存在自身定义的虚函数的类对象布局3.5如果第1个直接基...原创 2021-09-26 13:28:39 · 2780 阅读 · 5 评论 -
C++类对象中虚函数表指针、虚函数表、虚函数之间的关系以及在内存中的布局
目录C++类的虚函数表和虚函数在内存中的位置虚函数表和虚函数在内存中的位置说明结论原文C++类的虚函数表和虚函数在内存中的位置_JMW1407的博客-CSDN博客C++类的虚函数表和虚函数在内存中的位置关系:虚函数表指针(保存在堆或栈)->虚函数表(常量区.rodata)->虚函数(代码段 .text)虚函数表指针是虚函数表所在位置的地址。虚函数表指针属于对象实例。因而通过new 出来的对象的虚函数表指针位于堆,声名对象的虚函数表指针位于栈。总结:1...原创 2021-09-26 13:27:19 · 918 阅读 · 1 评论 -
sizeof()与strlen()
sizeof()可以计算所有类型,strlen()仅计算字符串。sizeof计算对象所占内存字节数,strlen()计算字符个数,遇到'\0'截止。char *a;char b[5];sizeof(a) = 8 ; // 64位系统,8代表的是指针的大小,指针占8字节sizeof(b) = 5 ; // 计算字符串数组的结果是真实的字符数组大小//strlen(a) strlen(b) // 无固定值,因为strlen判断的唯一标准是'\0',//它会根据a...原创 2021-09-25 21:54:33 · 284 阅读 · 0 评论 -
详解2021华为笔试三道编程题
目录2021华为笔试第一道缓存转发数据包统计(100%)解题思路:参考代码:2021华为笔试第二题查找知识图谱中的实例知识(100%)解题思路:参考代码:2021华为笔试第三题湖泊连通(100%)解题思路:参考代码:2021华为笔试第一道缓存转发数据包统计(100%)题目描述有k个节点的转发队列,每个节点转发能力为m,缓存能力n(表示此节点可立即转发m个包,剩余的缓存,最多缓存n个包,再剩余的丢弃,缓存的包在下一轮继续转发)。另外,此队列..原创 2021-09-25 21:52:50 · 4787 阅读 · 1 评论 -
C/C++实现循环左移,循环右移
目录循环移位直接可用的函数(循环右移、循环左移)整体代码本文的小技巧实现对一个无符号数的循环左移和循环右移循环移位直接可用的函数(循环右移、循环左移)//val表示需要移位的数 n表示移位位数//字节数乘以8代表一共多少位//向右循环移n位的结果:假设数据一共size位,向左移size-n位,再与原数右移n位进行或操作的结果//val表示需要移位的数 n表示移位位数//字节数乘以8代表一共多少位//向右循环移n位的结果:假设数据一共size位,向左移size-n位,原创 2021-08-20 00:26:58 · 5737 阅读 · 0 评论 -
STL中迭代器的作用,有指针为何还要迭代器
请你来说一下STL中迭代器的作用,有指针为何还要迭代器参考回答:1、迭代器Iterator(迭代器)模式又称Cursor(游标)模式,用于提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。或者这样说可能更容易理解:Iterator模式是运用于聚合对象的一种模式,通过运用该模式,使得我们可以在不知道对象内部表示的情况下,按照一定顺序(由iterator提供的方法)访问聚合对象中的各个元素。由于Iterator模式的以上特性:与聚合对象耦合,在一定程度上限制了它...原创 2021-08-11 22:28:11 · 1556 阅读 · 0 评论 -
C语言32个关键字与C++62个关键字详解
C语言32个关键字关键字 说明 auto 声明自动变量 short 声明短整型变量或函数 int 声明整型变量或函数 long 声明长整型变量或函数 float 声明浮点型变量或函数 double 声明双精度变量或函数 char 声明字符型变量或函数 struct 声明结构体变量或函数 union 声明共用数据类型 enum 声明枚举类型 typedef 用以给数据类型取别名 co..原创 2021-08-03 14:24:05 · 4403 阅读 · 0 评论 -
“悬空指针”和“野指针”究竟是什么意思?有什么区别
提起C语言大部分开发者很自然就会想到指针二字,没错,作为C的核心和灵魂,它的地位咱们就不再熬述了,今天我们想跟大家讲的是指针中的两个特有名词:“悬空指针”和“野指针”。悬空指针C语言中的指针可以指向一块内存,如果这块内存裆后被操作系统回收(被释放),但是指针仍然指向这块内存,那么,此时该指针就是“悬空指针”。下面这段C语言代码是一个例子请看void *p =malloc(size); assert (p);free(p);//现在p是“悬空指针C语言中的“悬空指针”会引发不可预知的错误原创 2021-07-30 16:34:19 · 955 阅读 · 0 评论 -
使用C语言实现多态
目录一、C++的三大特性为:继承,多态,封装1.1 继承1.2 多态1.3 封装二、用C语言实验多态2.1 多态的主要特点2.2 代码实现2.2.1 C++中的继承与多态2.2.2C语言实现C++的继承与多态一、C++的三大特性为:继承,多态,封装1.1 继承一个对象直接使用另一个对象的属性和方法。优点:减少重复的代码。 继承是多态的前提。 继承增加了类的耦合性。 缺点:继承在编译时刻就定义了,无法在运行时刻改变父类继承的实现; 父...原创 2021-07-30 11:03:47 · 3171 阅读 · 1 评论