【发布时间】:2013-08-20 07:02:53
【问题描述】:
我用 C++ 实现的共享内存有一个链表。当我向链表添加元素时,它的大小会自动改变(就像它是一个普通的堆分配元素)还是应该只包含固定大小的结构,比如固定大小的数组?
【问题讨论】:
-
你知道链表是如何工作的吗?当添加一个新元素时,它只是动态添加的,并且一个指针将从前一个数据元素指向它。那应该回答你的问题,是吗?如果不是,您能否详细说明真正的问题是什么?
-
你应该更仔细地阅读我的问题。我很清楚链表是如何工作的。在日常生活中,我们在堆上创建链表,动态分配内存。但是在我的问题中,我已经声明我在共享内存区域中创建了一个链接列表,并且您可能会猜到共享内存区域具有与堆不同的固定大小。所以我问是否可以初始化共享内存区域,这样当我们添加新的插入时,它的初始大小不会成为问题。我的意思是它会表现得像堆。但我认为这是不可能的。
-
嗯,当然是固定大小的。否则,如果你不能提前做足够大,你将需要创建另一个更大的。
-
所以在你尝试回答问题之前请仔细阅读我的朋友。
-
我仔细阅读了您的文章,我个人认为有些草率,有些不言自明。这就是我要求澄清的原因。
标签: c++ shared-memory heap-memory dynamic-memory-allocation