问题标签 [array-initialization]

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 投票
5 回答
309 浏览

c# - 为什么数组初始化总是求助于int?

阅读所有可能的 C# 数组初始化语法我想知道为什么 C# 总是推断出一个较小数据类型的数组,int/Int32例如byteorshort就足够了。

在引用的问题中,Eric Lippert 指出使用了“最佳类型” - 见下文,但int最佳类型如何?如果我们要矫枉过正,为什么不使用long呢?

数组元素的类型是通过计算所有具有类型的给定元素中的最佳类型(如果有的话)来推断的。所有元素都必须隐式转换为该类型。

我怀疑处理 8 位或 16 位数据类型可能比 32 位结构更快,例如在使用 SIMD 时,其中四个byte实例可以容纳在一个的寄存器空间中int/Int32。我知道JIT 编译器没有(广泛)使用 SSE 指令,但是这种“int无处不在”的用法确保当 JIT 编译器将包含此类优化时它不会有太大帮助。

有人可以详细说明这些事实并说明为什么它总是诉诸于int吗?

// 编辑 // 我并不真正关心规定没有前缀的文字应该被视为int. 重新表述这个问题:

为什么使用大于所需的数据类型?为什么规范对文字有这个规则? 什么是优势,因为巨大的缺点是远离未来(SIMD)优化。

0 投票
3 回答
3180 浏览

java - Java - 用户指定大小的数组初始化

我正在尝试创建一个程序,该程序从用户输入接收数组的大小,然后接受该数量的整数,然后显示其中的所有素数。因此,例如,如果用户输入他们希望数组大小为 5,那么它应该允许用户输入 5 个整数。但是我被卡住了,这给了我一个错误。

我得到的错误是:

0 投票
3 回答
1009 浏览

java - 是否有一种“通用”方法来初始化对象数组?(爪哇)

我为每个类使用一个 init 方法。

是否可以定义一种“通用”方法来初始化任何类型的对象?

至少喜欢:

我尝试了很多谷歌并使用 java 反射(Object.getClass()Constructor.newInstance()Class.newInstance())。然而我并没有成功。

0 投票
2 回答
35532 浏览

arrays - 何时使用 tick(') 进行 Verilog 数组初始化?

数组初始化可以使用或不使用'

假设数组使用不可打包的类型,如intstring等,是否有正确的方法?两种方式似乎都很好。

EDA Playground 上的完整代码示例:http ://www.edaplayground.com/x/3Tc

0 投票
1 回答
426 浏览

arrays - F#:为什么 Array.createZero 这么快?

我有这个代码:

我对其进行了测试并得到了以下结果:

如何Array.zeroCreate如此快速地创建数组并保证它的所有元素都具有默认值?我知道在其他语言中没有这种可能性(据我所知)。在其他语言中,我只知道数组的快速初始化,哪些元素不能保证具有默认值,因为它们可以在一些垃圾所在的内存中初始化。

谢谢!

0 投票
4 回答
399 浏览

c - C编程中的字符串混淆

所以我正在学习使用编译器 Dev C++ 对 c 进行编程。问题一:

输出:你好世界

为什么当我声明我的字符串只包含 3 个字符时它显示所有“Hello world”?

问题2:

输出:赫尔

为什么它显示“Hel”?由于 line[0] = H、line[1] = e 和 line[2] = '\0',它不应该只显示“He”吗?%s 通过搜索“\0”来工作?

请帮助我了解真正发生的事情。谢谢!

0 投票
1 回答
3146 浏览

arrays - 有没有办法不必两次初始化数组?

我需要将数组的每个元素初始化为非常量表达式。我可以这样做而不必先将数组的每个元素初始化为一些无意义的表达式吗?这是我想要做的一个例子:

此代码给出了编译时错误:

要解决此问题,我需要更改函数的第一行以ys使用一些虚拟值初始化 的元素,如下所示:

有没有办法省略额外的初始化?将所有内容包装在一个unsafe块中似乎没有任何区别。

0 投票
1 回答
1013 浏览

c - 初始化函数指针的全局数组

我想使用一些邪恶的宏魔法来生成指向文件中所有函数的指针数组。不幸的是,我仅限于 C99 并且不是非常流行的编译器。

我有一个想法,但我不确定它是否安全:

我试过了,它编译了,甚至可以工作,但在 C 中,这实际上并不意味着这种东西是安全的或可移植的。

对全局指针数组的初始化有任何保证吗?

0 投票
1 回答
760 浏览

c - 为什么我不能在 C 中初始化包含函数指针的结构数组?

my_functions.h

我的程序

编译器说:

警告:从不兼容的指针类型初始化

我看着:

但是我仍然看不到我错过了什么......
对我来说,在我尝试初始化我的数组时,所有类型和函数都是已知的。
初始化不能在函数之外完成吗?

[编辑]我在 Linux 上,使用 GCC 4.9 的嵌入式版本。

0 投票
3 回答
19311 浏览

c++ - 初始化列表中的零初始化数组成员

我有一个带有数组成员的类,我想将其初始化为全零。

对于局部变量,有一种简单的零初始化方法(参见此处):

此外,m_array显然需要初始化类成员,因为默认初始化 int 只会留下随机垃圾,如此所述。

但是,我可以看到对成员数组执行此操作的两种方法:

带括号:

带大括号:

两者都正确吗?两者在 C++11 中有什么区别吗?