我有 Java 背景,正在学习 C++。我有一个语言实现/语法决策问题。
在 Java 中,数组声明如下所示:
//generally
type[] variableName;
//concretely
int[] intArray;
然而,在 C++ 中,它看起来像这样:
//generally
type variableName[size];
//concretely
int intArray[5];
Java 版本对我来说很有意义,括号应该附加数据类型。该变量不是 int
,它是一个 int 数组,因此我们将 int
替换为 int[]
。
在C++中,为什么变量名后面要有括号?
(此外,当谈到指针时,C++ 似乎同意这一点。int
指针是 int* intPtr
而不是 int ptr*
. 我错过了什么?)
最佳答案
这是 c
中的遗留项,它以相同的方式声明它。我认为这很可能就是 c
首次创建时的做法。在现代 C++ 中,我们可以避免使用静态数组或指针。你的例子可以写成:
std::array<int, 5> intArray;
这既更具描述性又增加了很多好处。参见 here了解更多详情。
https://stackoverflow.com/questions/69248258/