这是一篇用来记录C++旅程中,涉及到编译器行为的文章,因为实在感觉编译是一个比较神奇的过程。“神秘的”编译器在程序运行时都做了些什么,本文将持续关注和更新!
在函数返回值时:
这种情况下编译器会在主函数中创建一个无名临时对象。要知道, 被调函数中的局部变量只能在被调函数中存在,不可能在返回主函数后继续生存。必须借助无名临时对象的帮助才能将值传回。
内联函数:
内联函数在某种程度上解决函数调用带来的执行效率问题,原因就是
内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处。
声明:参考《C++语言程序设计(第四版)》