三句话回答C/C++面试题

Posted pepetang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三句话回答C/C++面试题相关的知识,希望对你有一定的参考价值。

1 inline函数的好处

节省调用开销;相对于宏展开,inline发生在编译阶段,会做类型检查。

2 指针函数与函数指针的区别

指针函数是指带指针的函数,即本质是一个函数;函数指针是指向函数的指针变量,即本质是一个指针变量。

3 左值与右值的区别

左值指的是可以取地址的变量,左值与右值的根本区别在于能否获取内存地址。

4 C++中有malloc/free,为什么还需要new/delete?

new/delete会调用构造/析构函数,适合于类类型对象的创建与销毁。

5 C++空类默认有哪些成员函数?

默认构造函数、析构函数、复制构造函数、赋值函数。

6 重载(overload)和重写(overide)的区别

重载:在相同作用域中存在多个同名的函数,这些函数的参数表不同;

重写:派生类重新定义基类虚函数。

7 main函数执行之前会执行什么?

全局对象的构造函数。

8 进程间如何通信?

信号、信号量、消息队列、共享内存。

9 经常要操作的内存分为那几个类别?

栈、堆、全局区(静态区)、字符串常量区、程序代码区。

10 有哪几种情况初始化方式只能用initialization list而不能用assignment?

当类中含有const、reference成员变量;基类的构造函数。

11 C++是不是类型安全的?

不是,两个不同类型的指针之间可以强制转换(reinterpret_cast)。

以上是关于三句话回答C/C++面试题的主要内容,如果未能解决你的问题,请参考以下文章

常见嵌入式/C/C++面试题100+集合(含参考答案)-更新中

C/C++ 面试题

C/C++面试题分享

C++/C面试题

程序员面试:C/C++求职者必备 20 道面试题!

C/C++经典面试题(转载)