相关疑难解决方法(0)

堆栈和堆的内容和位置是什么?

编程语言书籍解释了在堆栈上创建了值类型,并且在堆上创建了引用类型,而没有解释这两者是什么.我还没有看清楚这个问题.我理解堆栈是什么.但,

  • 它们在哪里和它们(物理上在真实计算机的记忆中)?
  • 它们在多大程度上受操作系统或语言运行时控制?
  • 它们的范围是什么?
  • 是什么决定了它们的大小?
  • 是什么让一个更快?

language-agnostic heap stack memory-management dynamic-memory-allocation

7847
推荐指数
27
解决办法
145万
查看次数

C/C++中的变量如何工作?

C/C++中的变量如何工作?

我的意思是,一个指针存储一个变量的地址,然后你必须取消引用它来访问它所引用的对象,所以我认为一个变量是一个在使用时自动解除引用的指针......这有什么意义吗? ?

c c++ variables pointers

17
推荐指数
4
解决办法
1846
查看次数

解除分配存储在向量中的对象?

我有一个创建对象矢量的类.在这个类的解构函数中,我试图释放分配给对象的内存.我试图通过循环遍历向量来做到这一点.所以,如果向量被称为map我正在做:

Building::~Building() {
    int i;
    for (i=0; i<maps.size(); i++) {
        delete[] &maps[i];
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行这个程序段错误,同时释放内存.我认为我所做的实际上是删除存储对象的数组而不是对象本身.它是否正确?如果没有任何关于我做错的想法?

c++ memory-management vector

6
推荐指数
3
解决办法
3万
查看次数

何时在C++中从内存中删除变量?

我现在一直在使用C++.我只是不确定内存管理是如何工作的,所以在这里:

我首先不确定函数中的内存是如何分配的,例如:

int addTwo(int num)
{
    int temp = 2;
    num += temp;
    return num;
}
Run Code Online (Sandbox Code Playgroud)

那么在这个例子中,函数结束后是否会从内存中删除?如果没有,这是怎么做的.在C#中,一旦变量用完,变量就会被删除.还有其他我应该知道的案例吗?

谢谢

c c++ memory memory-management

5
推荐指数
4
解决办法
8766
查看次数

什么创建堆栈?

假设在一个程序中我们实现了一个堆栈.但谁创造了堆栈?它是处理器,操作系统还是编译器?

c c++

1
推荐指数
1
解决办法
551
查看次数