mal*_*yeb 0 c++ stack computer-science
如本教程中所述:http: //www.learncpp.com/cpp-tutorial/79-the-stack-and-the-heap/
在计算机编程中,堆栈是容纳其他变量的容器(很像数组).但是,虽然数组允许您以任何顺序访问和修改元素,但堆栈更受限制.可以在堆栈上执行的操作与上面的操作相同:
1)查看堆栈中的顶部项目(通常通过名为top()的函数完成)2)从堆栈中取出顶部项目(通过名为pop()的函数完成)3)在顶部放置一个新项目堆栈(通过名为push()的函数完成)
但是如果我在C++中定义了两个变量,我就不必按照相同的定义顺序使用它们:
例:
int main() {
int a;
int b;
b = 5;
a = 6;
}
Run Code Online (Sandbox Code Playgroud)
这段代码有问题吗?我可以按照我喜欢的任何顺序使用它们!我不必先使用a,然后使用b.
我误会了什么吗?它是什么?
你混淆了两种不同的堆栈.
一个堆栈,用于分配应用程序的某些内存.这将是关于堆栈和堆以及内存分配位置的讨论的一部分.
另一种堆栈是符合LIFO访问方式的数据结构.这可以使用std :: vector或其他形式的数据结构来实现.