问题标签 [dynamic-allocation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
156 浏览

c - problem with allocation of a pointer to pointer of char

I wrote this code to copy the contents of file 'vetores' to a matrix of char but I think that there is a problem with the dynamic allocation. Somebody could help me?

Here is the contents of file 'vetores':

0 投票
2 回答
128 浏览

c - c中包含各种数组的结构的安全分配

我的代码中有这样的东西

通常,当我调用和 时fem_mesh_new,我使用非常大的数字n_vern_tri这有时会导致分配错误(空间不足)。

即使我遇到这种错误,我的程序也应该建议用户并遵循执行。在这种情况下,我想释放自错误点以来我分配的所有东西(即,当我尝试分配时出现错误mesh->triangles,但mesh->vertices已分配,所以我想释放mesh->vertices

有没有更简单的方法来做到这一点?我能想到的唯一方法(这是我想避免的)是填充我的许多if (x==NULL)代码,但这很烦人,因为内存分配的顺序(在每个在我可能会出错的地方,我应该编写代码来释放从那时起分配的所有东西)。

不知道是否清楚,希望有人能提供一些帮助:)

0 投票
2 回答
8733 浏览

c - malloc/calloc 调用上的奇怪 SIGABORT

用 gdb 运行我的程序我得到了这个:

fem.o: malloc.c:3096: sSYSMALLOc: 断言`(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof (size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' 失败。

程序收到信号 SIGABRT,已中止。__kernel_vsyscall() 中的 0xb7fe1424

我发现这个错误出现在这段代码之后:

问题是具有双 *y0 作为成员的结构。

以前在函数中,我这样做

而且我也没有收到任何错误== NULL。

一些建议?

添加:

我已经检查了 n_tot 的内容,它有正确的数字

0 投票
2 回答
815 浏览

c - 带有calloc的宏,安全吗?

如果我在我的代码中使用这个宏是否安全?

我正在使用 gcc 作为编译器...

在我的程序中有很多内存分配点,所以我使用它。我在 5 分钟前尝试过,我得到了一些奇怪的 sigabort 和 sigsev,现在我要回家了……如果我能找到一些东西,我会再试一次。

一些想法/提示?

编辑添加:

通常我使用宏如下:

0 投票
8 回答
324 浏览

c++ - C ++:为什么可以将静态创建的变量传递给期望引用的函数?

我已经用 C++ 编程了一段时间,但肯定不会称自己为专家。这个问题不是为了解决我遇到的实际问题,而是更多地了解 C++ 在做什么。

想象一下,我有一个需要单个参数的函数:

(注意:参数是对 SomeClass 的引用)然后我这样调用函数:

为什么这是合法的 C++?该函数期望引用 SomeClass,但我将其传递给 SomeClass 类型的静态分配变量。引用就像指针不是吗?如果我们用指针替换引用,编译器会抱怨。为什么引用以这种方式与指针不同,幕后发生了什么?

对不起,如果这是一个愚蠢的问题,这只是困扰我!

0 投票
0 回答
275 浏览

c++ - c++中动态分配的链表。发生异常后如何防止内存泄漏?

可能重复:
c ++中动态分配的链表。异常后如何防止内存泄漏?

我喜欢在 C++ 中实现链表,在添加新节点时我会动态分配它,如果某些分配失败我希望我的程序停止执行。

在“新节点”失败后抛出异常,所以我必须在异常处理程序中显式调用析构函数。我该如何处理这种情况以防止内存泄漏?好的,这是我的代码

链表.h

链表.cpp

0 投票
3 回答
3444 浏览

cocoa - 为什么 Objective-C 对象必须动态分配?

为什么 Objective-c 对象必须动态分配?为什么我必须使它成为一个指向对象的指针,不像在 C++ 中我可以在堆栈上创建它们?谢谢。

0 投票
1 回答
238 浏览

c++ - 创建类 C++ 时的内存分配问题

仍在学习 C++,并且仍然有特定的错误:)。我有以下组成的对象:

问题是,当我尝试使用以下构造函数对其进行初始化时,出现分段错误:

据我了解,所有变量均已正确分配,因为出现“Setarea documentului finisata”消息,然后出现段错误。所有代码都可以正常编译,没有任何警告。另外,我试图在谷歌上搜索一些东西,但找不到与我类似的情况。这种奇怪行为的原因可能是什么?

PS:拷贝构造函数的实现:

我是从老师的例子中得出的。另外,我通过以下方式初始化变量:

因为老师要求我们对象包含动态创建的字符串:)

0 投票
2 回答
1633 浏览

c - 从函数返回一个字符串数组

我需要返回 achar**但是当我尝试这样做时,编译器告诉我我想返回一个局部变量的地址。我怎样才能做到这一点?我知道我应该为这个变量分配空间但是如何?这是我的代码,但第二个printf没有出现,函数什么也不返回:

0 投票
3 回答
2306 浏览

c++ - 有什么方法可以防止类的动态分配?

我在嵌入式系统中使用了 C++ 基类和子类(为了清楚起见,我们称它们为 A 和 B)。

这是时间和空间的关键,所以我真的需要它是最小的。

编译器抱怨缺少虚拟析构函数,这是我理解的,因为如果你分配 aB* 然后删除指针作为A*.

但我永远不会分配此类的任何实例。有没有一种方法可以重载operator new(),以便在没有动态分配任一类的情况下进行编译,但如果最终用户尝试分配 A 或 B 的新实例,则会导致编译器错误?

我正在寻找一种与通过私有构造函数“毒化”自动编译器复制构造函数的常用技术类似的方法。(例如http://channel9.msdn.com/Forums/TechOff/252214-Private-copy-constructor-and-private-operator-C