技术面试时,那些令人心虚的问题

MFC问题

MFC的工作过程

  1. 创建应用程序对象theApp
  2. 执行MFC提供的WinMain()函数
  3. WinMain()调用InitInstance()函数,此函数创建文档模板,主框架窗口,文档和视图
  4. WinMain()调用Run()函数,此函数执行主消息循环,以获取和分派Windows消息

MFC:窗口创建过程

  1. 设计一个窗口类
  2. 注册窗口类
  3. 创建窗口
  4. 显示和更新窗口

MFC:消息机制

应用程序通过操作系统控制硬件设备,应用程序被操作时发出消息存入消息队列,操作系统提取信息队列中信息处理消息。

什么是消息映射机制

MFC使用一种消息映射机制来处理消息,在应用程序框架中的表现就是一个消息与消息处理函数一一对应的消息映射表。当窗口接收到消息是,会到消息映射表中查找该消息对应的消息处理函数,然后由消息处理函数进行相应的处理。SDK编程时需要在窗口过程章一一判断消息值进行相应的处理,相比之下MFC的消息映射机制要方便好用的多。

BOOST问题

boost智能指针

智能指针的作用:智能指针确保在任何情况下,动态分配的内存都能得到正确释放.

智能指针的原理:智能指针的原理基于一个常见的习语叫做RAII:资源申请即初始化 

指针指针的实现方法:用一个动态分配的对象地址来初始化智能指针,在析构的时候释放内存,就确保了这一点。因为析构函数总是会被执行的,这样所包含的内存也将总是会被释放。 

boost智能指针有:作用域指针/数组:scoped_ptr<int>/scoped_array<int>;共享指针数组shared_ptr<int>/shared_array<int>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值