
C++面试
文章平均质量分 59
looklight
这个作者很懒,什么都没留下…
展开
-
C++ int、long、long int、long long、uint64_t字节长度
我们在进行编程时,对于int、long、long long经常使用,但是对于这些类型占用的字节长度可能不会太确定,尤其是在32位平台、64位平台,会有差异,这些知识点为基础知识,容易忽略的基础知识,本文做下分析记录。原创 2023-02-21 15:34:40 · 10655 阅读 · 0 评论 -
常量 指针 指针常量等的区别
常量指针,指针指向的值不能改,指针的指向可以改const int *p = &a;*p=20; 错误p=&b; 可以指针常量int原创 2021-09-11 10:59:53 · 119 阅读 · 0 评论 -
并行和并发的区别
并发:指应用能够交替执行不同的任务,其实并发有点类似于多线程的原理,多线程并非是同时执行多个任务,如果你开两个线程执行,就是在你几乎不可能察觉到的速度不断切换这两个任务,以达到“同时执行效果”,其实并不是,只是计算机速度太快,我们无法察觉到而已。例如,吃一口饭,喝一口水,以正常速度看,完全能看得出来,但是以n倍速度。。。并行:指应用能够同时执行不同的任务,eg:边吃饭边打电话区别:一个是交替执行,一个是同时执行做并发编程之前,必须首先理解什么是并发,什么是并行,什么并发...原创 2021-09-11 00:24:13 · 252 阅读 · 0 评论 -
C++ 面试题 面试内容 面试内容 免费分享
1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和原创 2020-10-15 17:41:20 · 1404 阅读 · 1 评论 -
为什么数组比链表查询速度更快?
这是一个大厂的interview题自己回答的很菜为什么数组比链表查询速度更快?数组由于是紧凑连续存储,可以随机访问,通过索引快速找到对应元素,而且相对节约存储空间。但正因为连续存储,内存空间必须一次性分配够,所以说数组如果要扩容,需要重新分配一块更大的空间,再把数据全部复制过去,时间复杂度 O(N);而且你如果想在数组中间进行插入和删除,每次必须搬移后面的所有数据以保持连续,时间复杂度 O(N)。 链表因为元素不连续,而是靠指针指向下一个元素的位置,所以不存在数组的扩容问题;如果知道某一元素的转载 2020-07-11 14:46:25 · 6288 阅读 · 2 评论