我是Scala的新手,刚刚开始学习它.我想知道如何在Scala中初始化一个数组.
示例Java代码
String[] arr = { "Hello", "World" };
Run Code Online (Sandbox Code Playgroud)
Scala中上述代码的等价物是什么?
string[][] Tablero = new string[3][3];
Run Code Online (Sandbox Code Playgroud)
我需要一个3x3阵列安排来保存信息.我如何在C#中声明这个?
c# arrays jagged-arrays multidimensional-array array-initialization
我已经使用C++几年了,今天我看到了一些代码,但这怎么能完全合法呢?
int main(int argc, char **argv)
{
size_t size;
cin >> size;
int array[size];
for(size_t i = 0; i < size; i++)
{
array[i] = i;
cout << i << endl;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
根据海湾合作委员会编制.
如何在没有new或没有运行时确定大小malloc?
只是为了仔细检查,我用谷歌搜索了一些和我的所有类似的代码声称存储大小错误.
甚至Deitel的C++如何编程p.共同编程错误4.5下的261个状态:
只有常量可用于声明自动和静态数组的大小.
给我看.
您好我正在学习C++ 11,我想知道如何制作一个constexpr 0到n数组,例如:
n = 5;
int array[] = {0 ... n};
Run Code Online (Sandbox Code Playgroud)
所以阵列可能是 {0, 1, 2, 3, 4, 5}
#include <stdio.h>
int main() {
char a = 5;
char b[2] = "hi"; // No explicit room for `\0`.
char c = 6;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
每当我们编写一个用双引号括起来的字符串时,C 都会自动为我们创建一个字符数组,其中包含该字符串,并以 \0 字符结尾 http://www.eskimo.com/~scs/cclass/notes/sx8。 html
在上面的示例中,b只有 2 个字符的空间,因此空终止字符没有位置可放置,但编译器正在重新组织内存存储指令,以便将a和c存储b在内存中,以便为 a 腾出\0空间数组的末尾。
这是预期的还是我遇到了未定义的行为?
偶然地,我发现该行char s[] = {"Hello World"};已经正确编译,似乎被视为相同char s[] = "Hello World";.第一个({"Hello World"})不是包含一个char数组的元素的数组,所以s的声明应该读取char *s[]吗?事实上,如果我将其更改为char *s[] = {"Hello World"};编译器,也会按预期接受它.
寻找答案,我找到的唯一提到这个的地方是这个,但没有引用标准.
所以我的问题是,char s[] = {"Hello World"};尽管左侧是类型array of char而右侧是类型,为什么要编译该行array of array of char?
以下是一个工作计划:
#include<stdio.h>
int main() {
char s[] = {"Hello World"};
printf("%s", s); // Same output if line above is char s[] = "Hello World";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的任何澄清.
PS我的编译器是gcc-4.3.4.
为什么这样做:
String[] array = {"a", "b", "c"};
List<String> list = Arrays.asList(array);
Run Code Online (Sandbox Code Playgroud)
但这不是:
List<String> list = Arrays.asList({"a","b","c"});
Run Code Online (Sandbox Code Playgroud) 我有一个数组成员的类,我想初始化为全零.
class X
{
private:
int m_array[10];
};
Run Code Online (Sandbox Code Playgroud)
对于局部变量,有一种简单的零初始化方法(参见此处):
int myArray[10] = {};
Run Code Online (Sandbox Code Playgroud)
此外,类成员m_array显然需要初始化,因为默认初始化整数会见好就收随机的垃圾,如解释在这里.
但是,我可以看到两种方法为成员数组执行此操作:
括号:
public:
X()
: m_array()
{}
Run Code Online (Sandbox Code Playgroud)
带括号:
public:
X()
: m_array{}
{}
Run Code Online (Sandbox Code Playgroud)
两个都正确吗?这两者在C++ 11中有什么区别吗?
考虑以下代码,我们在其中D基于另一部分初始化部分D:
struct c {
c() : D{rand(), D[0]} {}
int D[2];
};
int main() {
c C;
assert(C.D[0] == C.D[1]);
}
Run Code Online (Sandbox Code Playgroud)
以上程序定义明确吗?我们可以安全地使用同一阵列的一部分来初始化它的另一部分吗?