美文网首页
C/C++面试题

C/C++面试题

作者: 突击手平头哥 | 来源:发表于2019-10-26 15:43 被阅读0次

1, 信号的声明周期

答: 信号的产生 -> 信号在进程中注册 -> 信号在进程中的注销 -> 执行信号处理函数

2, 信号的产生方式

答: 1, bash命令行下的kill命令; 2, C中的信号发送函数kill(), sigqueue(), raise(), alarm(), setitimer(), pause(),abort()等; 3, 一些软硬件异常产生的信号

3, 信号的处理方式

答: 1, 默认处理方式, 比如PIPE信号会导致进程终止; 2, 忽略处理或者自定义函数处理(signal或者signaction函数)

4, 隐式类型转换以及如何消除?

答: 如果可以通过一个实参创建一个类, 那么我们可以隐式的完成该实参类型到该类类型的转换, 通过该构造函数前加上explicit避免这种隐式的转换

5, 重载/重写/隐藏的区别

答: 重载指的是函数的重载(函数名相同和参数不同的函数), 重写指的是虚函数, 隐藏指的是子类的函数名与父类相同就会隐藏

6, volatile功能

答: 在实际中我们可能遇到一个线程等待一个参数在另外一个线程发生改变; 但是由于代码优化每次都从寄存器中取值, 而另外线程的修改没有影响到此线程的寄存器, 导致无法检测变化; 该关键字指的就是每次从内存去取值.

7, malloc/new/free/delete区别

答: new/delete是描述符, 仅属于C++; 而后两者是库函数, C中可以使用. new错误会抛出bad_alloc异常, 而malloc失败返回NULL; new无需指明大小, 其返回的是指定的类型, malloc必须指明大小并返回void指针; new会调用构造函数, 后者不会; 都是在堆中分配释放内存.

8, free是怎么知道释放多大内存的呢?

答: 一般在分配的内存前几个字节有一个结构体保存一些信息, 在redis中实现的动态字符串就是这种形式.

相关文章

  • C++基础

    c++面试题

  • Java基础知识与面试题整理

    # Java基础知识与面试题整理(一) @[toc] ---- ---- ## 垃圾回收机制 传统C/C++等编程...

  • 无题

    找工作时的四个知识块:c/c++、系统网络编程、数据库和qt。 c/c++的知识点浓缩在面试题库中了,可以好好看看...

  • OC 对象的本质(一)

    先来看一个面试题 我们来用clang编译器转起c++ 看看. 打开C++文件发现其生成的对象转成如下图所示 NSO...

  • sizeof与字节对齐

    参考 【面试题】sizeof引发的血案编译器与字节对齐c 语言字节对齐问题详解C/C++内存对齐内存存取粒度C和C...

  • iOS面试题

    最近在找工作,把遇到的面试题累计一下 1. objective-c与C++的区别 1、Objective C基本上...

  • 面试准备

    最近发现了一个博客,写的还蛮好的,东西很全,主要是关于C++后台开发的各种知识 C++后台开发面试题 每日算法 设...

  • 知识点(三)

    参考:图像处理职位面试题(图像处理+c++)https://blog.csdn.net/u014114990/ar...

  • 剑指offer学习笔记:整体结构

    67道经典面试题+相关扩展 c++版 从面试题6开始附leetcode或者牛客网连接 哎,简书怎么上传xmind呀

  • c/c++ 面试题

    1 string https://www.jianshu.com/p/cf2149034ae3模拟实现 strin...

网友评论

      本文标题:C/C++面试题

      本文链接:https://www.haomeiwen.com/subject/fntuvctx.html