gpt4 book ai didi

c++ - 动态函数内存? C++

转载 作者:太空狗 更新时间:2023-10-29 23:31:26 25 4
gpt4 key购买 nike

我一直在阅读一些书籍,当谈到使用指针/动态内存(或堆或他们称之为 w/e)的类/函数时,我开始感到困惑。

有没有人有一个简单的……比如他们可以展示的简单示例,因为我使用的书籍使用的示例过于复杂(大型类或多个函数)并且很难理解。无论如何,指针一直是我的弱点,但我了解 BASIC 指针,只是使用它们的类/函数有点令人困惑。

此外.....你什么时候使用它们是另一个问题。

最佳答案

堆栈分配:

char buffer[1000];

这里的 1000 必须是一个常量。当 buffer 超出范围时,内存会自动释放。

堆分配:

int bufsz = 1000;
char* buffer = new char[bufsz];
//...
delete [] buffer;

这里bufsz可以是一个变量。必须显式释放内存。

何时使用堆:

  • 您不知道编译时需要多少空间。
  • 您希望内存/对象在当前范围之外持续存在。
  • 您需要大块内存(堆栈空间比堆空间更有限)

关于c++ - 动态函数内存? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4761721/

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