allocation

    0热度

    3回答

    我的任务由两部分组成。首先,我必须创建100个元素的globbal char数组,并使用cin向它插入一些文本。之后计算字符数量,并创建与输入文本长度相关的专用数组。我正在考虑以下解决方案: char[100]inputData; int main() { cin >> inputData >> endl; int length=0; for(int i=0

    5热度

    1回答

    在Windows中,对于非常苛刻的应用,程序员可以使用HeapCreate,HeapAlloc为了更好地管理和控制存储 - 加快速度(又名专用分配器)的分配。 Linux C++编程中的等价物是什么?

    3热度

    3回答

    我想在堆栈上分配内存。 听说_alloca/alloca,我知道这些是编译器特定的东西,我不喜欢。 于是,我走上前来与我自己的解决方案(可能有它自己的缺点),我想您检阅/改进它,以便为一劳永逸,我们也会有这样的代码工作: /*#define allocate_on_stack(pointer, size) \ __asm \ { \ mov [pointer], e

    2热度

    6回答

    我必须从另一个函数中分配一个结构,显然是使用指针。 我一直在盯着这个问题几个小时,并试图用一百万种不同的方式来解决它。 这是一些示例代码(很简单): ... some_struct s; printf("Before: %d\n", &s); allocate(&s); printf("After: %d\n", &s); ... /* The allocation function

    1热度

    1回答

    我有一个sql场景,我一直在尝试改进。 有一张“退货”表,其中有退货的ID与商品的商店相关。其结构如下。 Returns ------------------------- Return ID | Shop | Item ------------------------- 1 Shop1 Item1 2 Shop1 Item1 3 Shop1 Ite

    2热度

    3回答

    我已经被赋予了重新编写用C#编写的一些库的任务,以便在启动完成后没有分配。 我刚刚找到一个项目,每30秒对OdbcConnection执行一次数据库查询。我总是使用.ExecuteReader()创建一个OdbcDataReader。是否有任何模式(如SocketAsyncEventArgs套接字模式)可让您重新使用您自己的OdbcDataReader?或者其他一些聪明的方式来避免分配? 因为所有

    3热度

    5回答

    假设我需要经常(任意大小)分配和删除堆上的对象,如果不是删除这些对象,而是将它返回给某个“池”以便稍后重用,是否有任何性能优势? 它会减少堆分配/释放吗?或者它会比内存分配器性能更慢,因为“池”需要管理动态指针集合。我的用例:假设我创建了一个基于链表的队列容器,并且该表中的每个节点都分配在堆上,所以每次调用push()和pop()将分配和释放该节点: ` template <typename T>

    1热度

    2回答

    重新分配内存的权利和最佳方式是什么? 例如我分配100个字节,WinAPI的函数HeapAlloc 然后我填100个字节,一些数据存储的,现在我想在年底以前增加更多新的数据... 我应该怎么办? 用更多的字节做一个新的分配,然后将旧的+新的复制到新的位置并释放旧的内存? 或者有一些方法可以在旧数据末尾分配新内存,然后仅复制新数据?

    1热度

    1回答

    我有一群学生需要分配到固定容量的教室(比如每个教室有100把椅子)。 每个组只能被分配到一个单一的课堂教学,哪怕是比容量大(即有可能溢出,与学生站起来) 我需要一个算法,使最小的分配溢出和容量不足的教室。 当拥有200组时,执行这种分配的幼稚算法速度极慢,其中约一半的分布低于教室大小的20%。 任何想法,我可以找到至少一些良好的起点,使此算法闪电般快速? 谢谢!

    6热度

    2回答

    #include <stdio.h> #include <stdlib.h> #include <memory.h> #include <vector> #include <string> #include <iostream> #include <map> #include <utility> #include <algorithm> void * GetMemory(siz