有一段时间,你偶然发现一篇技术文章,其中“创建”和“声明”同义使用。
E.g。
声明一个int数组
创建一个int数组
但是没有声明和创造两件不同的东西?或者它取决于背景?
答案 0 :(得分:2)
这两者显然是分开的,至少在某些情况下是这样。例如,在C或C ++中,有声明只声明事物,并且有声明和创建它们的定义,并且(仅在C ++中)有new
个表达式在没有声明它们的情况下创建对象(并且可以说,在C语言中,malloc类型也是如此)。
同样,在支持lambda表达式的语言中,创建和声明是分开的 - 一个lambda表达式创建一些东西(例如,一个函数)但不(通过它自己)声明它(将名称绑定到它)。 / p>
答案 1 :(得分:0)
在C和C ++中,对象的创建也声明了它:
int main() {
int a[10]; // create a
a[3] = 42; // use a - no need for a separate declaration
}