首页
社区
课程
招聘
[原创]如果当前上下文难理解,就进去看看,到底干了啥?
2023-7-27 21:45 4450

[原创]如果当前上下文难理解,就进去看看,到底干了啥?

2023-7-27 21:45
4450

一、看起来参数数目不符?

图片描述
很难理解为啥一个简单的≥的重载操作符,有四个push,看起来有四个参数似的。
如果当前上下文难理解,就进去看看,到底干了啥?
图片描述
第二个参数和第四个参数只是判断是否相等,实际≥是在第一个参数和第三个参数。


二、看起来是无用的局部变量?

图片描述

很难理解这个局部变量是干啥的,观察上下文也没有用到它。而且gameMap_.getSize()似乎也没有参数。

如果当前上下文难理解,就进去看看,到底干了啥?
图片描述
原来函数gameMap_.getSize()的返回值和[ebp-60h]是相同的,结合getSize()头文件,知道有返回值sf::Vector2f,基本可以推断[ebp-60h]是函数的返回值的临时存储内存。


小结

有时,push只是为了平衡堆栈,而不是作参数压栈。所以理解代码含义,还是不能生搬硬套的,需要具体分析才知道意义。(小结仅与此文相关)


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2023-7-27 22:14 被_THINCT编辑 ,原因:
收藏
点赞1
打赏
分享
最新回复 (1)
雪    币: 124
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
A1v1n 2023-9-8 13:23
2
0
看标题以为你在做英语阅读理解呢
游客
登录 | 注册 方可回帖
返回