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

c++ - 允许在没有动态分配的情况下运行时的数组大小?

我已经使用 C++ 几年了,今天我看到了一些代码,但这怎么可能是完全合法的呢?

在 GCC 下编译。

new如果没有or ,如何在运行时确定大小malloc

只是为了仔细检查,我已经用谷歌搜索了一些和我的所有类似代码都声称会给出存储大小错误。

甚至 Deitel 的 C++ 如何编程 p。常见编程错误 4.5 下的 261 个状态:

只有常量可以用来声明自动和静态数组的大小。

照亮我。

0 投票
7 回答
937 浏览

java - 为什么将 {a, b, c} 传递给方法不起作用?

我试图将初始化列表 {...} 传递给构造函数,但它不起作用。当我改为在方法局部变量(int [])中声明它时,它完美地工作。

这是为什么?

0 投票
8 回答
3770 浏览

c++ - 在 C/C++ 中初始化数组是一种好习惯吗?

我最近遇到了一个案例,我需要比较两个文件(黄金和预期)以验证测试结果,即使写入两个文件的数据相同,文件也不匹配。

在进一步调查中,我发现有一个结构包含一些整数和一个 64 字节的 char 数组,并且在大多数情况下并非 char 数组的所有字节都被使用,并且数组中未使用的字段包含随机数据,并且导致不匹配。

这让我问了一个问题,在 C/C++ 中初始化数组是否也是一种好习惯,就像在 Java 中所做的那样?

0 投票
4 回答
19383 浏览

c# - Array concatenation in C#

  1. How do I smartly initialize an Array with two (or more) other arrays in C#?

    /li>
  2. Another question: How do I concatenate C# arrays efficiently?

0 投票
4 回答
3220 浏览

c++ - 如何使用外部值创建表(数组)?

我想创建一个数据指针、数据大小和数据版本的静态(文件范围)表。问题是数据在外部文件中,但在外部文件中是常量。

例子:

文件1.c

文件2.c

主程序

我正在使用 Green Hills 编译器,4.2.3。确切的错误信息:

请参阅我之前的帖子:
C: External const ints in a array of const struct

注意:包含 C++ 标记,因为这也适用于 C++

0 投票
12 回答
259517 浏览

c# - 如何声明二维字符串数组?

我需要有一个 3x3 数组排列来保存信息。如何在 C# 中声明它?

0 投票
7 回答
157738 浏览

scala - Scala中的数组初始化

我是 Scala 的新手,今天才开始学习它。我想知道如何在 Scala 中初始化一个数组。

示例 Java 代码

Scala 中上述代码的等价物是什么?

0 投票
0 回答
13979 浏览

java - Java syntax error on tokens, misplaced constructs - array initialization

I have the following code in Java 5:

On the line with

it is telling me "Syntax error on token(s), misplaced construct(s)". Any idea what I'm doing wrong? Thanks.

0 投票
4 回答
7872 浏览

c++ - 为什么 int a[5] = {0} 和 int a[5]={1} 之间的区别(缺少功能)

当我们像这样初始化一个数组时int a[5] = {0},编译器会将所有 5 个元素设为 0。这真的很好,紧凑初始化和有用的功能。

但我想知道为什么编译器没有int a[5]={1}类似地初始化?为什么它不能使所有 5 个元素都为 1?为什么标准不强制要求它?这不是一个很棒的功能吗?是不是不见了?

此外,如果初始化程序中的元素数量小于数组的大小,则编译器可以使用初始化程序中的最后一个元素初始化剩余的元素。意思int a[5]={1,2,3}是,等价于int a[5]={1,2,3,3,3}。同样,int a[10]={1,2,3,0}等价于int a[10]={1,2,3,0,0,0,0,0,0,0};

如果标准要求它,这一切都不是一个很棒的功能吗?或者这个缺失的功能有什么好的理由吗?


在 C99 中有一个叫做指定初始化器的东西,它的用法如下:

指定初始化器可以与常规初始化器结合使用,如下例所示:

int a[10] = {2, 4, [8]=9, 10}

在这个例子中,a[0] 被初始化为 2,a 1被初始化为 4,a[2] 到 a[7] 被初始化为 0,a[9] 被初始化为 10。

很有趣。但即使这个特性在 C++ 中也没有。

0 投票
2 回答
189 浏览

c++ - new(size, value) Type[0] 返回的指针是否合法,是否可以用于构建数组?

该标准说,在5.3.4[expr.new]/7

当 direct-new-declarator 中的表达式的值为零时,调用分配函数来分配一个没有元素的数组。

并且在3.7.3.1[basic.stc.dynamic.allocation]/2

取消引用作为零大小请求返回的指针的效果是未定义的。

但是如果分配函数是用户定义的并且它知道它返回了一个有效的指针,那么取消引用它仍然是未定义的行为吗?标准可以强制用户代码的未定义行为吗?

我问的原因是另一个毫无意义的尝试初始化非默认构造类型的对象的动态数组。delete[]除了明显没有并且只能用 调用之外,它还有什么问题[0]?我什至aligned_storage正确使用了吗?

试运行:http: //ideone.com/iBW0z

还可以使用 MSVC++ 2010 EE 按预期编译和运行