问题标签 [static-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 投票
6 回答
5089 浏览

c - 我可以增加静态分配数组的大小吗?

我知道增加动态分配数组的大小是可能的。

但是我可以增加静态分配数组的大小吗?如果是,如何?

编辑:虽然这个问题是针对 C 语言的,但也要考虑其他语言。是否可以用任何其他语言?

0 投票
4 回答
5493 浏览

c++ - 从函数返回“c_str”

这是我在网上找到的一个小型图书馆:

在我的代码中,我正在这样做:

现在,起初d包含垃圾。然后我意识到我从函数中获取的 C 字符串在函数返回时被销毁,因为std::ostringstream它是在堆栈上分配的。所以我补充说:

现在我可以从函数中获取我需要的文本。

我有两个问题:

  1. 我是否正确理解这一点?

  2. 后来我注意到out(类型std::ostringstream)被分配了静态存储。这是否意味着该对象应该保留在内存中直到程序终止?如果是这样,那为什么不能访问字符串?

0 投票
8 回答
324 浏览

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

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

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

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

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

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

0 投票
3 回答
3444 浏览

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

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

0 投票
2 回答
119 浏览

objective-c - 释放静态分配的 nsarray

我的班级中有一个静态数组。我什么时候放出来?或者我不必担心?我正在考虑以 dealloc 方法释放它,但不确定。谢谢

0 投票
2 回答
339 浏览

c - 使用二维数组调用函数时出现分段错误

我有以下代码:

当我使用具有 10*10 整数的输入文件运行此程序时,我blah在 main 中的函数调用中遇到分段错误。我也无法使用 gdb 收集有关分段错误的任何信息,它只是说:

我在这里做错了什么?任何帮助将不胜感激。

0 投票
3 回答
78 浏览

c++ - 在下面这段代码中,内存将分配到哪里?

如果我声明 a std::vector<A *>,内存将分配到哪里?我知道new动态分配内存,但向量的内存应该静态分配。我想知道内存会发生什么。

0 投票
2 回答
280 浏览

c - 大型分配的 Mmap 与静态分配

我正在分配一个相当大的,大约 100GB 的内存块。确切的大小在编译时总是已知的。

我应该静态分配吗?

还是使用mmap?

对于前者,应用程序(忽略启动时间)似乎运行得稍微快一些。

忽略失败的分配,每种方法的优缺点是什么?

0 投票
2 回答
384 浏览

c++ - gcc如何分配静态运行时已知长度的数组

我写了以下代码:

此代码使用 g++ 编译,没有警告。

我的问题是——如何?参数 n 仅在运行时已知,在数组中是静态分配的。gcc如何编译这个?

0 投票
2 回答
1279 浏览

c++ - 动态分配静态分配的区别

我的问题是在任何编程语言中动态内存分配都比静态内存分配快吗?