C++
文章平均质量分 56
莱特昂
这个作者很懒,什么都没留下…
展开
-
2020秋招面试汇总(C++)
总体几乎所有问题都答出来了,主要问的刚好都是我会的,看了昨天我同学跟我说的,发现没几个能答出来的,今天的虽然很偏,但刚好是我知道的,一问一答像对答案一样,也是走了狗屎运,但愿能过吧。这里做个总结和我自己感觉自己没做好的地方两个人面试记得询问另外一个人,最后反问环节我只听了技术小哥的意见,HR姐姐并没有说,我也没有问,我应该再主动问一下她,尤其是这种两人面试的时候应该照顾一下另一位的感受,不应该全程我跟技术小哥讨论技术,忽略了HR姐姐。虽然不是很关键,这也是人细节的一部分。...原创 2021-01-07 22:03:02 · 924 阅读 · 0 评论 -
C++类的大小和字节对齐
之前牛客网做C++测试题遇到结构体对齐和类大小的问题,没怎么在意,以为就记住了。可是今天看面试问题的时候又看到了,有的地方就想不起来了,所以决定开篇文章记录一下。类大小的问题1.空类class A{};sizeof(A); //1解析:类的实例化就是为每个实例在内存中分配一块地址;每个类在内存中都有唯一的标识,因此空类被实例化时,编译器会隐含地为其添加一个字节,以作区分。2.虚函数类class A{ virtual void Fun();};sizeof(A); //4原创 2020-08-25 17:17:31 · 948 阅读 · 0 评论 -
C++的float类型数比较问题
之前刷题做到一道题,看到题解很奇怪:计算一个数字的立方根,getCubeRoot(double input)。题解采用了二分法,但比较时并不是用直接==比较是不是达到了目标值,而是这样写的:if(mid*mid*mid-a<0.0000001 && mid*mid*mid-a>-0.00000001)printf("%.1lf",mid);当时就有点懵,今天又看到了一道面试题:写出float x 与“零值”比较的if语句看了题解:const float EPSI原创 2020-08-10 09:47:10 · 1852 阅读 · 0 评论 -
魔方教学系统(基于QT)
没能及时复盘写下来 现在很多想不起来解法实现关于引用 直接.h 就能在类里使用全局变量的使用播放器串口通讯线程信号槽设计模式的探讨 不然情景选择按键下全是switch原创 2020-07-30 22:13:51 · 1184 阅读 · 0 评论 -
C++初始化列表
定义与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。1)在构造函数执行时,先执行初始化列表,实现变量的初始化,然后再执行函数内部的语句2)成员初始化的顺序只与声明的顺序有关,而跟初始化列表的顺序无关。例如我们写成: id(i),name(s),但是我们还是先初始化变量name(s),,然后id(i),因为我们先声明的变量name ,然后id 。3)成员之间可以相互初始化:a(12), b(a) //a,b为相同类型原创 2020-07-28 17:33:26 · 242 阅读 · 0 评论 -
C++类内存分布
书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别是在继承、虚函数存在的情况下。1、配置工具工欲善其事,必先利其器,我们先用好Visual Studio工具,像下面这样一步一步来:先选择左侧的C/C+±>命令行,然后在其他选项这里写上/d1 reportAllClassLayout,它可以看到所有相关类的内存布局,如果写上/d1 reportSingleClassLayoutXXX(XXX为类名),则只会打出指定类XXX的内存布局原创 2020-07-28 11:56:17 · 296 阅读 · 0 评论 -
线材检测项目(基于QT)
背景这也是之前做的一个项目。主要目的是一个粗的电线里面有三种颜色的线在一起,需要通过机器视觉检测出来相互之间的位置,保证黄色线在最上面。他们有个专门的电机旋转电线,需要给到控制电机的PLC需要旋转的角度。我们主要负责做识别检测部分和上位机操作软件。检测的线材如图:系统组成硬件主要为摄像头,工控机,串口转MODBUS。PLC控制不是我们负责的,我们只需要通过MODBUS把需要旋转的角度发送过去即可。只知道他们那边的PLC用的是中研五轴十轴模块。摄像头采用了映美精的GigE彩色工业相机。工控机采用原创 2020-07-12 22:21:53 · 1094 阅读 · 0 评论 -
C++右值引用
转载一篇C++ 右值引用的文章实在太长太深刻了 以后用到的时候再细看&&链接:https://www.jianshu.com/p/d19fc8447eaa原创 2020-06-29 18:30:16 · 111 阅读 · 0 评论 -
C++中explicit关键字的作用
explicit意思显式,对应的implicit 隐式。首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的。常用来防止隐式调用构造函数。class A{ public: A(int a){cout<<a<<endl;}};class B{ public: explicit B(int b){cout<<b<<endl;}};int main(){原创 2020-06-18 09:21:46 · 487 阅读 · 0 评论 -
C语言中volatile关键字的作用
在看C语言基础知识的时候看到了volatile关键字,不是很理解,所以查了资料,总结一下。volatile译为:易变的volatile是一个类型修饰符(type specifier),就像我们熟悉的const一样,它是被设计用来修饰被不同线程访问和修改的变量;volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。简单地说就是防止编译器对代码进行优化。比如如下程序:XBYTE[2]=0x55;XBYTE[2]=0x56;XBYTE[2]=0x57;XB原创 2020-06-18 08:51:03 · 6676 阅读 · 2 评论 -
C++ 函数const引用传参
今天看google C++代码规范时看到有一条:函数传参的引用必须要加const。就觉得有些奇怪,引用传递不就是为了方便,而且直接能修改原数据了,但加上const变常量之后等于又无法修改原数据了,为什么还必须规定要这样矛盾的做法呢?下面就是收集到的资料。&是为了引用传递,防止值传递的复制数据const是为了保护数据不被改动const&防止传值时拷贝构造函数的调用开销简单来说就是,在不加const 和 & 的情况下,进行普通的函数调用,必然会有值传递,如果数据量大花费时间长(原创 2020-06-16 20:32:06 · 3318 阅读 · 1 评论 -
C++ 编程风格及代码规范
right clean code --Facebook会写代码,还要尽量做到写简洁和优美的代码,因为代码不只写,还有读,可读性也是很重要的一环。这是我自己做的一个脑图:这是另外一个大神的总结:Google的C++编码规范中文链接:http://zh-google-styleguide.readthedocs.org/en/latest/google-cpp-styleguide/PDF下载原创 2020-06-16 17:35:37 · 268 阅读 · 0 评论
分享