gpt4 book ai didi

c++ - 一个函数使用多少内存?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:02:31 32 4
gpt4 key购买 nike

我在一次采访中被问到这个问题——“一个函数使用多少内存?”。所以我试图回答说你可以将所有数据变量占用的所有内存加起来,它实例化的数据结构 - 例如为 long 添加 4 个字节,为 char 添加 1 个字节,为 int 添加 4 个字节,为 32 位指针添加 32 位系统,并添加任何动态分配的输入。面试官对我的回答不满意。

我正在学习 C++,非常感谢任何见解。

最佳答案

问题很不明确。函数本身将只占用其 activation record 的空间。来自调用者,用于参数及其在堆栈上的局部变量。根据架构,激活记录将包含保存的寄存器、调用函数时返回的地址等内容。

但是一个函数可以在堆上分配它需要多少内存,所以没有准确的答案。

此外,如果函数是递归的,那么它可能会使用大量内存,这总是因为每次调用之间都需要激活记录。

关于c++ - 一个函数使用多少内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13485967/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com