编程语言书籍解释了在堆栈上创建了值类型,并且在堆上创建了引用类型,而没有解释这两者是什么.我还没有看清楚这个问题.我理解堆栈是什么.但,
language-agnostic heap stack memory-management dynamic-memory-allocation
这是代码:
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) 我知道引用不占用任何内存,它将指向它引用的相同内存位置.例如
int i=10;
int &r = a;
Run Code Online (Sandbox Code Playgroud)
假设i指向内存位置1000,因此在这种情况下r也将指向内存位置1000.但是在C++中,当我们声明一个变量时,它将在某个位置存储在内存中.在这种情况下r指向某个位置但它应该存储在内存中的某处作为内部表示仅在引用上使用const指针.提前致谢.