理想汽车C++面试题
自我介绍
1.简历上的项目
2.毕设概述(关于计算机视觉的)
3.const 常量指针与指针常量
4.c与c++区别
5.简述多态
6.class和struct区别
7.this指针是什么
8.函数重载是怎样的
9.结构体赋初值
10.使用指针时候遇到过哪些问题
11.const修饰函数解释
12.static关键字解释
13.现场写代码(不难)
14.八个球有一个比较重,问称几次可以把较重的球拎出来
15.本科成绩,有没有其他项目
16.关于岗位方向,有没有目标方向
17.关于自动驾驶知道多少
static修饰的变量18.知不知道ROS
19.关于理想汽车的了解
20.反问
常用的个c/c++面试题
1. C中static有什么作用
(1)隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,故使用static在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。
(2)static的第二个作用是保持变量内容的持久。存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存储区:全局变量和static变量。
(3)static的第三个作用是默认初始化为0.其实全局变量也具备这一属性,因为全局变量也存储在静态数据区。在静态数据区,内存中所有的字节默认值都是0×00,某些时候这一特点可以减少程序员的工作量。
2.C++中const有什么用?
不要一听到const就说是常量,这样给考官一种在和一个外行交谈的感觉。应该说const修
饰的内容不可改变就行了, 定义常量只是一种使用方式而已,还有const数据成员,const参数, const返回值, const成员函数等, 被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。
3. C与C++各自是如何定义常量的?有什么不同?
C中是使用宏#define定义, C++使用更好的const来定义。
区别:
1)const是有数据类型的常量,而宏常量没有,编译器可以对前者进行静态类型安全检查,对后者仅是字符替换,没有类型安全检查,而且在字符替换时可能会产生意料不到的错误(边际效应)。
2)有些编译器可以对const常量进行调试, 不能对宏调试。
4. 既然C++中有更好的const为什么还要使用宏?
const无法代替宏作为卫哨来防止文件的重复包含。
5. C++中引用和指针的区别?
引用是对象的别名, 操作引用就是操作这个对象, 必须在创建的同时有效得初始化(引用一个有效的对象, 不可为NULL), 初始化完毕就再也不可改变, 引用具有指针的效率, 又具有变量使用的方便性和直观性, 在语言层面上引用和对象的用法一样, 在二进制层面上引用一般都是通过指针来实现的, 只是编译器帮我们完成了转换。 之所以使用引用是为了用适当的工具做恰如其分的事, 体现了最小特权原则。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论