似乎有大约应使用一些术语上的不确定性。 似乎是视图不同点:
- 有些人喜欢用堆和栈是指字节的位置
- 其他人坚持认为那些“堆”和“堆叠”的术语不应该C中使用++,而是喜欢“自动存储持续时间”的术语。
但很明显的程序员使用一组术语和标准使用另一种。 但是,应该用什么样的条件? 为什么? 还有,他们的意思是不同的东西的问题? 但似乎在## C ++中freenode的信道使用堆叠/堆术语时是恒定的分歧。 现在,我们已经得出结论,持续时间!=位置,但我们仍然要决定什么是首选的术语。
似乎有大约应使用一些术语上的不确定性。 似乎是视图不同点:
但很明显的程序员使用一组术语和标准使用另一种。 但是,应该用什么样的条件? 为什么? 还有,他们的意思是不同的东西的问题? 但似乎在## C ++中freenode的信道使用堆叠/堆术语时是恒定的分歧。 现在,我们已经得出结论,持续时间!=位置,但我们仍然要决定什么是首选的术语。
“堆”和“堆叠”仅仅是由C ++标准中规定的一般概念实际实现。
该标准不关心你在哪里存储您的对象,它关心这些对象的生命周期,所以它谈论“自动存储时间”。
但是编译器通常使用堆栈的工具实现这一点。 然而,正如在评论中指出,并非每一个具有自动持续对象位于堆栈上。 类成员具有自动存储持续时间,所属对象是否是在堆栈中。
对于很多常见的用法,这两个可以没有真正造成混乱互换。 在堆栈上的对象具有自动存储时间,他们通常谈论的“自动存储时间”,以及时想到什么。
只要你不要求什么是栈上分配的,当它在堆上,我不是太大惊小怪你使用这个术语。
堆栈是对象存储具有自动存储持续时间(一个抽象的概念)的实现。 同样地,对于堆和动态存储持续时间。