C++模拟面试:宏、lambda、智能指针闲谈

有时候出于种种目的,我们会用宏来写一些函数。有人称之为宏函数。下面我们来模拟一场面试:。借助三目运算符,这种一行的表达式很方便的可以做成宏函数。既然2020年了,那么肯定有C++11,那便有lambda了。lambda很多人都有用。通常我们调用lambda需要先定义,再调用,比如:。今天来介绍一种『...

C|函数调用的栈帧机制与数组越界、缓冲区溢出

0 前置知识0.1 程序加载和数据存储 程序运行前要将代码加载到内存的代码区,包括全局变量和静态变量也要同时加载。 堆区内存可以在程序运行时动态申请。 栈区是由程序重复利用的存储区域,通过两个寄存器ebp和esp存储栈区的相对地址来控制栈区空间的重复使用。函数调用时,开辟一个函数需要的栈区空间,称为...