问题标签 [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 投票
3 回答
405 浏览

c++ - 如何在类的构造函数中定义一个没有常量大小的静态数组?(C++)

我有一个类定义为:

我需要它包含一个像这样的静态数组:

但是,我无法在类中定义,因此可以创建指向 2D 数组的指针(出于好奇,还可以创建 3、4 和 5D 数组),将其作为类的成员,并将其初始化为构造函数如:

编辑:这里的想法是每个对象都有不同的宽度和高度,所以我用来表示该对象的数组对于该对象将是唯一的,但是一旦定义了该数组(最好在构造函数中),它就不会改变. 并且特定对象的宽度和高度值在编译时是已知的。

编辑:数组用于碰撞检测,方法是将presc两个对象的数组叠加到一个大数组上,并查看重叠的位置,声明如下:

0 投票
4 回答
20811 浏览

c++ - 使用未指定大小、空括号定义的静态数组?

对于下面的 C++ 代码片段:

为什么成员变量也不会导致错误?这个成员变量是什么意思?

我通过 CodeBlocks 8.02 使用 gcc 版本 3.4.5 (mingw-vista special)。

在 Visual Studio Express 2008 - Microsoft(R) C/C++ Optimizing Compiler 15.00.30729.01 for 80x86 上,我收到以下消息:

现在,这也需要一些解释。

0 投票
14 回答
37278 浏览

c++ - 在 C++ 中以编程方式在编译时创建静态数组

可以在编译时定义一个静态数组,如下所示:

问题 1 - 是否可以通过使用各种元编程技术在编译时“以编程方式”分配这些值?

问题 2 - 假设数组中的所有值都是相同的,那么是否可以在编译时以编程方式有选择地分配值?

例如:

  1. 欢迎使用 C++0x 的解决方案
  2. 数组可能很大,几百个元素长
  3. 现在的数组将只包含 POD 类型
  4. 还可以假设以静态编译时兼容的方式预先知道数组的大小。
  5. 解决方案必须使用 C++ (无脚本、无宏、无 pp 或基于代码生成器的解决方案)

更新: Georg Fritzsche 的解决方案非常棒,需要一些工作才能在 msvc 和 intel 编译器上进行编译,但仍然是一种非常有趣的解决问题的方法。

0 投票
1 回答
8757 浏览

objective-c - Objective C - 我如何定义一个静态数字数组,该数组可供我的类中的所有方法访问?

我如何定义一个 STATIC 数字数组,该数组可供我的类中的所有方法访问???

0 投票
3 回答
418 浏览

c# - 转换没有大量新调用的结构的 C++ 数组?

C++

我知道在 C# 中初始化这样一个表的唯一方法是编写类似的东西

有没有办法让一个(引用)类 SomeClass 类型的值数组而不是指向这些值的指针?

编辑:

关键是我想避免为数组中的每个结构调用 new 。所以我想要的是一个包含 1000 个结构的数组,而不是 1000 个指向 (1000) 结构的指针。我问的原因是 C# 处理这个问题的方式对我来说似乎非常低效,涉及大量内存和内存管理开销(例如 C++)。

我试过类似的东西

但那是不可能的。因此,尽管我知道结构是值类型,但我得出的结论是,只有在将它们作为参数传递给函数时,这才是正确的,并且我必须使用 new,就像这样(在此处使用结构):

0 投票
5 回答
1286 浏览

c++ - 我们可以创建大小为执行时常量的静态数组吗?

我们都知道静态数组的基本规则:

是不合法的。和。

没关系。

但是,这又如何。

MSVC 说这是一个错误,gcc 似乎可以编译并执行它。

显然,它不可移植,但它应该被接受吗?

哪个编译器在这种情况下做正确的事情?

此外,如果编译器允许,那么良好的编程标准/实践是否应该允许?

编辑:这个想法是我想要堆栈分配速度,但我在编译时不知道数组的大小。我知道还有其他一些解决方案,堆栈分配可能不会是一个有意义的优化,但我认为这是一个有趣的用法。

0 投票
3 回答
9280 浏览

c++ - char 和 char[1] 的区别

在 C++ 中,使用 char 和 char[1] 有什么区别(如果有的话)。

例子:

unsigned char 是否遵循相同的原因?

0 投票
3 回答
1201 浏览

c++ - 初始化一个三维静态常量数组

我有一个用作查找表的三维静态 const 数组。数组的每个单元格最多可以返回 8 个单独的数字(每个数字是立方体的角 - 准确地说是体素)。例如,MyStaticArray[0][1][1]可能返回 1,2,5,7。它可以返回单个数字或最多八个数字,例如:1,2,3,4,5,6,7,8。

我已经准备好查找表(在纸上),我的问题是最好的存储方式是什么?最初我使用 a static const unsigned char[][][],但在这种情况下显然行不通,因为表可以返回多个数字(同样,从 1 到 8)。

我的下一个解决方案是返回一个无符号字符数组。即静态 const unsigned char* [][][]。我如何初始化它(也就是说,我如何初始化静态 const 数组以返回给我的 unsigned char 数组,它们也是静态的,这样我就可以在不初始化类的情况下访问它们)?有没有更好的办法?

我希望我能够正确解释这个问题。如果没有,请告诉我,我会尝试改写它和/或提供额外的信息。

0 投票
5 回答
569 浏览

arrays - 如何在没有 GC 分配的情况下初始化 D 中的静态数组?

在 D 中,所有数组字面量都是动态数组,因此由 GC 分配。

即使在这个简单的例子中:

该数组是堆分配的,然后复制到a.

你应该如何在没有堆分配的情况下初始化一个静态数组?

您可以手动完成:

但这充其量是乏味的。

有没有更好的办法?

0 投票
3 回答
13427 浏览

android - 如何从字符串数组中提取名称属性?

嗨,我构建了一个测验应用程序。我有以下(值/)question.xml

我想问一个有四个可能答案的问题,但是当我用 Java 检索我的答案时。我不知道哪个答案是正确的。所以我决定在项目标签中使用名称属性来传递“正确”或“错误”答案的值。无论如何要获得名称和标签值?

因为当我使用 String[] test = res.getStringArray(R.array.question); 我只能获取数组中每个项目的值。

或者因为这是我第一次使用 Android。有没有其他合适的方法来做到这一点?

谢谢