问题标签 [static-array]

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 投票
2 回答
576 浏览

c++ - 方法指针的静态数组

我面临一个我不明白的错误。

我尝试创建和使用方法指针的静态数组。我班级的声明如下所示:

初始化发生在我的 .cpp 文件中,如下所示:

麻烦来了,在我的客户的一个类方法中,我尝试使用这个方法指针的数组。我尝试了几种方法,例如:

我说我不明白这个问题,让我解释一下原因。在我的代码上运行 make 会导致正确编译,tought,链接时出现问题。

此消息重复 5 次。

欢迎任何帮助。谢谢你。

0 投票
5 回答
3214 浏览

java - Java:通用静态多维数组

如果可能的话,如何在 Java 中创建每个维度具有不同原始数据类型的静态多维数组?

我所说的静态,是指不像 ArrayList 那样动态的原始数组。

0 投票
2 回答
358 浏览

c++ - 在 C++ 中初始化类的静态数组成员的更好方法(虽然 const 是首选)

作为类的成员,我有一个指向函数的静态指针数组。

我需要初始化它,但事实证明这个数组有 64K 长,所以用静态初始化器初始化它是不切实际的,{ x, y, z, ... }因为它会使代码混乱。

我不得不用代码初始化它,有几个循环。

我想这样做的方法是static在构造函数中初始化数组并为其设置一个标志,所以只有类的第一个实例的构造会触发这个初始化。

从实例内部访问这个静态标志也不是线程安全的,但这是另一回事。

有没有更清洁或更好的方法来做到这一点?

我也希望这个数组是const,但恐怕唯一的方法是static {}初始化,对吧?

0 投票
2 回答
525 浏览

d - 拥有静态数组有什么意义

我没有 C 或 C++ 的背景,所以静态数组让我有点困惑。它们是干什么用的?为什么要在堆栈上分配它们?

我想有一个性能优势。堆栈分配更快,不需要垃圾收集。但是为什么需要在编译时知道长度呢?你不能在运行时创建一个固定大小的数组并在堆栈上分配它吗?

D 中的动态数组或切片由包含指针和长度属性的结构表示。静态数组也一样吗?他们是如何代表的?

如果你将它们传递给一个函数,它们会被完整地复制(除非你使用 ref),这背后的基本原理是什么?

我意识到动态数组和切片在 D 中比静态数组更重要,这就是为什么文档不会长时间讨论它们的原因,但我仍然希望有更多的背景知识。我猜静态数组的特性与堆栈分配的工作方式有关。

0 投票
2 回答
150 浏览

c - 如何将结构的预设数组放置在不同的结构中?

我正在经历一些在 C 中应该很简单的事情,但由于某种原因似乎无法让它工作。

以下是结构:

//--------------------------------------------

这种将整数值简单地放置到整数参数的做法向我展示了堆栈溢出或对内部字段的任何其他访问,并且 char 指针将由 strdup 分配(我可以使用的唯一内存分配)。

请记住,我不能使用任何类型的内存分配。

其次,有人指示我设置结构的静态数组。就像是

但是我怎样才能对每个分支做同样的事情呢?

0 投票
1 回答
7976 浏览

objective-c - Objective-C 静态内联 NSString 数组

嗨 :) 我正在尝试创建 NSStrings 的静态 C 数组。

这是我尝试过的:

没有编译器错误,但我收到 41 个警告,所有这些都是以下三个之一:

这让我相信当我使用这个类时,我会遇到大量的 sigbarts 或其他一些内存访问错误......

初始化 NSStrings 的静态数组的正确方法是什么(最好是内联的,我想使用 C 数组,而不是 NSArrays)?

0 投票
5 回答
2784 浏览

java - 如何声明具有硬编码值的自定义数据类型的静态数组?

目标:

我想为不经常更改的数据实现一个硬编码的查找表,但是当它确实发生更改时,我希望能够快速更新程序并重建。

计划:

我的计划是定义一个像这样的自定义数据类型......

然后,在主类中,像这样对数组进行硬编码......

但是,这不会建立。我一直看到消息“ Type mismatch: cannot convert from float[] to ScalingData”。

我怎样才能实现我的目标?

更新

到目前为止,我已尝试实施这些建议,但仍然遇到错误...

代码如下所示:

硬编码数组的错误是

编辑...根据下面的答案完成解决方案

0 投票
2 回答
7400 浏览

c++ - 静态数组类变量“多重定义”C++

我正在编写一些代码,我需要有一个静态 int 数组的类变量。我知道我可以在头文件中使用类似的东西来做到这一点,啊:

如果我随后将此标头仅包含在另一个文件中,这很好用,如下所示,main.cpp:

但是假设我需要我的 A 类更复杂一些,并且我也想要一个 A.cpp 文件。我将保持我的 main.cpp 文件相同,但随后将 Ah 更改如下(我刚刚添加了一个函数 printA):

然后在文件 A.cpp 中:

用 gcc -o Ao -c A.cpp 编译 Ao 没问题。但是在编译 main.cpp (gcc -o atest main.cpp Ao) 时链接它会失败,并出现“'A::a' 的多重定义”。

我一直在网上搜索解决方案,发现在标头中声明了变量的人在多个地方包含标头时会出现“多重定义”错误,解决方案似乎是在标头,然后仅在一个源(非标头)源文件中定义它。但是我不能同时声明静态和外部的类变量,可以吗?如果我尝试,或者如果我只是将它声明为 extern,我会收到关于变量不是静态的警告(当我同时尝试这两种方法时也会出现“冲突说明符”错误)。

所以,我的问题是:如果头文件需要包含在多个源文件中,是否可以使用静态数组类变量?如果是这样,怎么做?

0 投票
1 回答
369 浏览

c++ - 创建一个 char 数组,其大小由参数给定 - C++

我有一个带有静态字符数组的类。数组的大小在argv.

我想做这样的事情:

但这似乎不起作用。我收到如下错误:

错误 2 错误 LNK2001: 无法解析的外部符号 "public: static char * ABC::buffer" (?buffer@ABC@@2PADA) gpslib.lib

我怎样才能解决这个问题?

0 投票
5 回答
608 浏览

php - 我什么时候应该在我的数据库中使用静态数组而不是新表?

我已经使用 2 个静态数组(用于角色和资源)实现了一个访问控制列表,但是我在数据库中添加了一个新表来获取权限。

为角色使用静态数组的想法是我们不会一直创建新角色,因此数据不会一直更改。我对资源也是这么想的,也是因为我认为资源是只有开发人员才应该处理的东西,因为它们与代码的关系比与数据的关系更大。您知道为什么要使用静态数组而不是数据库表吗?什么时候/为什么?