教训是需要永远铭记的

 

梦,那么近却又那么远!每次带着无比的希望去笔/面试,每次又是耷拉着脑袋灰溜溜的回来,自己需要学习的东西太多了,自己会的东西实在是太少了!记下这些,以纪念今天见不得人的经历。

 

1、窗口关闭的过程

2、设置定时器后,在ontimer()中执行停滞5秒的语句(sleep()?),窗口会不会刷新?

3、SendMessage和postMessage的区别;

4、WM_CLOSE和WM_DISTROY的区别;

5、不刷新窗口某个区域的函数或方法;

6、链表与数组的内存区别;

7、容器vector和List的内存区别;

8、pop_back的作用。

 

 

解答:

1、当点击“close”右上角的“X”时,相应WM_CLOSE消息,通常程序的窗口函数不拦截此消息,于是DefWindowProc处理它;

DefWindowProc收到WM_CLOSE消息后,调用DestroyWindow把窗口清除,同时又发送WM_DISTROY;程序对WM_DISTROY的标准反应是调用PostQuitMessage;PostQuitMessage没什么其他操作,发送WM_QUIT消息,准备让消息循环中的GetMessage取得后返回0,结束消息循环。

2、问题不是太明确,没听清楚。好像是不会刷新;

3、SendMessage 发送消息后等消息完成返回,PostMessage发送消息后立即返回,只是把消息送到消息队列;

4、WM_CLOSE 关闭窗口;WM_DISTROY关闭程序;WM_QUIT退出循环环;点击close触发消息WM_CLOSE,WM_CLOSE调用destroywindows(),发送WM_DISTROY消息,PostQuitMessage发送WM_QUIT消息,退出程序;

5、待解?

6、从逻辑结构上说:数组定义时必须指定大小,不能适应数据动态增减的功能,删除元素会导致内存浪费,增加元素可能导致超出数组大小;链表支持动态分配大小,可以方便地插入、删除元素,数组删除、插入元素需要移动其他元素。从内存存储上来说,数组在栈上分配,链表在堆上分配。数组时顺序存储的,查找元素比较方便但删除、插入需要移动比较多的元素;链表是随机存储的,删除、插入比较方便,但查找需要从头开始,效率低。

7、vector:分配一块不指定大小的连续内存,随机访问方便,可以使用【】和.at(),插入、删除效率低;当添加的元素超出默认的容量时需要整体重新分配、拷和释放。

  List:分配不指定大小的不连续内存,插入、删除元素方便,可以在两端操作,不能随机访问。

8、略 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值