问题标签 [stack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
stack - 堆栈 - 为什么是 PUSH 和 POP?
我想知道为什么我们使用术语“push”和“pop”来添加/删除堆栈中的项目?是否有一些物理隐喻导致这些术语很常见?
我唯一的建议是类似于手枪的弹簧弹匣,子弹被“推”入其中并可以“弹出”出来,但这似乎不太可能。
第二个堆栈琐事问题:为什么大多数 CPU 将调用堆栈实现为在内存中向下增长,而不是向上增长?
c++ - 这种类型的内存是在堆还是栈上分配的?
在 C++ 的上下文中(没关系):
我所学到的告诉我,如果你像这样创建一个 Foo 实例:
然后数组 x 分配在堆上,但是如果您像这样创建 Foo 的实例:
然后它在堆栈上创建。
我在网上找不到资源来确认这一点。
c++ - C 和 C++ 如何在堆栈上存储大对象?
我试图弄清楚 C 和 C++ 如何在堆栈上存储大对象。通常,堆栈是一个整数的大小,所以我不明白更大的对象是如何存储在那里的。他们只是占用多个堆栈“插槽”吗?
c# - C# Out 参数问题:Out 如何处理值类型?
更新所以完全拉了一个工具时刻。我真正的意思是参考与输出/参考。任何说“参考”的东西,我真正的意思是参考,如
一些方法(对象一些对象)
相对
SomeMethod(out someObject)
对不起。只是不想更改代码,因此答案已经有意义。
据我了解,与 ref 不同,它“复制”指针并在堆栈上创建一个新空间以使用该指针,但不会更改指针:
Out 复制指针并可以操纵它指向的位置:
对对象来说这很好而且很花哨,但是值类型怎么办,因为它们没有任何东西指向仅在堆栈上?
c++ - 在堆栈上分配的变量上调用 delete
忽略编程风格和设计,在堆栈上分配的变量上调用 delete 是否“安全”?
例如:
或者
java - 有没有办法将 Knuth shuffle 应用于 Stack 数据结构?
对于编程课,我正在为第一个家庭作业创建一个二十一点程序。教授给了我们一个示例 Card 类,其中包括将它们添加到卡片组的方法。对于她的套牌,她使用了一个 ArrayList,您可以使用 Collections.shuffle() 方法轻松地进行 Knuth Shuffle。
尽管(显然)该方法不适用于堆栈,但我认为堆栈结构最适合该程序,因为您可以将卡片弹出和推入和推出牌组。
c++ - new 在堆栈而不是堆上(如 alloca 与 malloc)
有没有办法使用关键字在堆栈(ala )而不是堆( )new
上分配?alloca
malloc
我知道我可以自己破解,但我不想这样做。
lisp - 计算列表长度的尾部优化函数的最佳方法是什么?
这是一个论坛发帖人给出的一个例子,我不知道这个尾巴是否优化了。另外,有人可以外行描述尾部优化版本如何胜过普通版本。
非尾部优化版本?
c# - 关于引用/集合/值类型的另一个 C# 问题
我有以下代码:
我的问题是第一人称实例去哪里了?CLR 会在某处神奇地创建它的新实例吗?无论如何在列表之外引用它 - 例如,在方法完成后它会去哪里?使用什么方法将对象存储在集合中(这是 4 个问题)。