7得票9回答
是否使用“new”关键字?(涉及IT技术)

在声明对象时,何时使用new关键字,何时不使用有什么经验法则可遵循吗? List<MyCustomClass> listCustClass = GetList(); 或者 List<MyCustomClass> listCustClass = new List&...

7得票1回答
malloc和free的时间控制

我将尝试理解malloc和free的时间关系。因此,我编写了这个简单的程序: #include <stdlib.h> #include <stdio.h> int main() { long i; for(i = 2; i < 10000000000...

7得票7回答
Malloc vs new in C++

我正在从C语言过渡到C++。在C++中,是否还有使用malloc函数的必要,或者我可以直接使用new关键字?例如: class Node { /* ... */ }; /* ... */ Node *node = malloc(sizeof(Node)); // vs Node ...

17得票6回答
如何避免在C语言中进行每个错误检查后出现长链式的free(或delete)?

假设我非常谨慎地编写代码,并始终检查我调用的所有函数的返回类型。 因此我会这样写:char* function() { char* mem = get_memory(100); // first allocation if (!mem) return NULL; ...

495得票24回答
为什么使用alloca()不被视为良好的实践?

alloca()函数在栈上分配内存,而不是像malloc()一样在堆上分配内存。 因此,当我从函数返回时,内存就被释放了。 因此,实际上这解决了我释放动态分配内存的问题。 通过malloc()分配内存后释放内存是一个大问题,如果某些情况下没有释放会导致各种内存问题。 尽管具有上述功能,为什么...

7得票3回答
如何在C语言中编写一个线程安全、高效且无锁的内存分配器?

如何编写一个线程安全、高效且无锁的内存分配器?所谓高效,是指: 快速分配和释放内存 最佳内存使用率(最小浪费和无外部碎片) 最小元数据开销

8得票5回答
分配延迟似乎很高,为什么?

我有一个在低延迟环境下运行的(Java)应用程序,通常处理指令需要大约600微秒(+/- 100)。随着我们进一步深入微秒级别,你看到的会影响延迟的事情也会发生改变。现在我们注意到,2/3的时间花费在分配2个核心域对象上。 基准测试已经将代码中有问题的部分隔离出来,实际上就是从现有引用构建对...

24得票11回答
11得票1回答
返回依赖于函数内分配的数据的惰性迭代器。

我是新手,正在阅读《Rust编程语言》一书,其中在“错误处理”章节有一个“案例研究”,描述了使用csv和rustc-serialize库(使用getopts进行参数解析)从CSV文件中读取数据的程序。 作者编写了一个名为search的函数,该函数使用csv::Reader对象遍历csv文件的...

8得票9回答
可能的NP完全问题?

我只想请有人验证以下问题是否为NP完全问题,或者是否存在比简单的蛮力组合检查更好/更容易的解决方案。 我们在软件中遇到了一种类似资源分配问题,我将通过一个例子来解释它。 假设我们需要4个人在白天工作。这个数字以及它是“白班”记录在我们的数据库中。 然而,我们不仅需要任何人来填补这些职位,...