相关疑难解决方法(0)

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

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

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

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

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

作者在用C++解释堆栈和堆时是错误的还是我误读了什么?

这是代码:

int main()
{
    using namespace std; 
    int nights = 1001; 
    int * pt = new int; // allocate space for an int
    *pt = 1001;         // store a value there

    cout << "nights value = ";
    cout << nights << ": location " << &nights << endl;
    cout << "int ";
    cout << "value = " << *pt << ": location = " << pt << endl;

    double * pd = new double; // allocate space for a double …
Run Code Online (Sandbox Code Playgroud)

c++ c++11

54
推荐指数
5
解决办法
6406
查看次数

引用变量存储在何处

我知道引用不占用任何内存,它将指向它引用的相同内存位置.例如

int i=10;
int &r = a;
Run Code Online (Sandbox Code Playgroud)

假设i指向内存位置1000,因此在这种情况下r也将指向内存位置1000.但是在C++中,当我们声明一个变量时,它将在某个位置存储在内存中.在这种情况下r指向某个位置但它应该存储在内存中的某处作为内部表示仅在引用上使用const指针.提前致谢.

c++ memory

7
推荐指数
2
解决办法
2576
查看次数