共享内存的大小在执行过程中会发生变化吗? 我的共享内存,用C++实现,有链表。当我向链表中添加元素时,它的大小是否会自动改变(就像它是一个普通的堆分配元素一样),或者它应该只包含固定大小的结构,如固定大小的数组?

共享内存的大小在执行过程中会发生变化吗? 我的共享内存,用C++实现,有链表。当我向链表中添加元素时,它的大小是否会自动改变(就像它是一个普通的堆分配元素一样),或者它应该只包含固定大小的结构,如固定大小的数组?,c++,shared-memory,heap-memory,dynamic-memory-allocation,C++,Shared Memory,Heap Memory,Dynamic Memory Allocation,在已知的操作系统(如Windows或Linux)中,共享内存的大小是固定大小的,不能增长。您应该根据需要创建足够大的。我认为唯一的方法是创建另一个共享内存并将数据复制到其中。在Windows或Linux等已知操作系统中,共享内存的大小是固定的,不能增长。您应该根据需要创建足够大的。我认为唯一的方法是创建另一个共享内存并将数据复制到其中。你知道LinkedList是如何工作的吗?当添加新元素时,它只是动态添加的,一个指针将从以前的数据元素指向它。这应该能回答你的问题,是吗?如果没有,你能详细说明真

在已知的操作系统(如Windows或Linux)中,共享内存的大小是固定大小的,不能增长。您应该根据需要创建足够大的。我认为唯一的方法是创建另一个共享内存并将数据复制到其中。

在Windows或Linux等已知操作系统中,共享内存的大小是固定的,不能增长。您应该根据需要创建足够大的。我认为唯一的方法是创建另一个共享内存并将数据复制到其中。

你知道LinkedList是如何工作的吗?当添加新元素时,它只是动态添加的,一个指针将从以前的数据元素指向它。这应该能回答你的问题,是吗?如果没有,你能详细说明真正的问题是什么吗?你应该更仔细地阅读我的问题。我很清楚链表是如何工作的。在正常生活中,我们使用动态内存分配在堆上创建链表。然而,在我的问题中,我已经声明,我在共享内存区域中创建了一个链表,正如您可能猜到的,共享内存区域有一个固定的大小,它不同于堆。所以我想问的是,有没有可能初始化共享内存区域,这样当我们添加新的插入时,它的初始大小就不会有问题了。我的意思是,它的行为会像堆一样。但我认为这是不可能的。当然,它是固定尺寸的。否则,如果你不能提前做得足够大,你就需要再做一个更大的。因此,在你试图回答问题之前,请仔细阅读。我的朋友,我仔细阅读了你的文章,我个人认为这有点草率,有些不言而喻。这就是我要求澄清的原因。你知道LinkedList是如何工作的吗?当添加新元素时,它只是动态添加的,一个指针将从以前的数据元素指向它。这应该能回答你的问题,是吗?如果没有,你能详细说明真正的问题是什么吗?你应该更仔细地阅读我的问题。我很清楚链表是如何工作的。在正常生活中,我们使用动态内存分配在堆上创建链表。然而,在我的问题中,我已经声明,我在共享内存区域中创建了一个链表,正如您可能猜到的,共享内存区域有一个固定的大小,它不同于堆。所以我想问的是,有没有可能初始化共享内存区域,这样当我们添加新的插入时,它的初始大小就不会有问题了。我的意思是,它的行为会像堆一样。但我认为这是不可能的。当然,它是固定尺寸的。否则,如果你不能提前做得足够大,你就需要再做一个更大的。因此,在你试图回答问题之前,请仔细阅读。我的朋友,我仔细阅读了你的文章,我个人认为这有点草率,有些不言而喻。这就是我要求澄清的原因。谢谢,你的回答和我想的一样,很不幸。谢谢,你的回答和我想的一样,很不幸。