在Ada中,如何使用重复的数字初始化数组常量?

mat*_*eek 3 arrays constants ada

我需要一个820个零的数组,用于数学函数.

在CI中可以编写以下内容,编译器将填充数组:

 const float EMPTY_NUMBER_A[820] = { 0.0, };
Run Code Online (Sandbox Code Playgroud)

但是在Ada中这是不可能的.我真的不想将820元素硬编码为0.0.有没有办法让编译器这样做?

 type Number_A is array (1 .. 820) of Float;
 EMPTY_NUMBER_A : constant Number_A := ???;
Run Code Online (Sandbox Code Playgroud)

使用Ada 95和GNAT.

Mar*_*c C 9

使用聚合:

Empty_Number_A : constant Number_A := (others => 0.0);
Run Code Online (Sandbox Code Playgroud)

  • 这是非常强大的顺便说一句.如果你想将元素20之外的所有东西都设置为0,你可以做`(20 => 17.5,其他=> 0.0)` (2认同)