13 c++ terminology variable-assignment declare
我倾向于使用单词define,declare和assign可互换,但这似乎会导致一些人的冒犯.这是否合理?我是否应该仅在第一次使用"声明"一词时分配给变量?或者还有更多呢?
jhe*_*iko 34
定义是描述值或函数的地方,即编译器或程序员被准确地告知它是什么,例如
int foo()
{
return 1;
}
int var; // or, e.g. int var = 5; but this is clearer.
Run Code Online (Sandbox Code Playgroud)
声明告诉编译器或程序员函数或变量存在.例如
int foo();
extern int var;
Run Code Online (Sandbox Code Playgroud)
赋值是指变量的值设置,通常使用=运算符.例如
a = b;
a = foo();
Run Code Online (Sandbox Code Playgroud)
定义和声明是相似的,但赋值是非常不同的.
在这里,我声明(或定义)一个变量:
int x;
Run Code Online (Sandbox Code Playgroud)
我在这里为该变量赋值:
x = 0;
Run Code Online (Sandbox Code Playgroud)
在这里,我在一个声明中做两件事:
int x = 0;
Run Code Online (Sandbox Code Playgroud)
注意
并非所有语言都在一个声明中支持声明和赋值:
T-SQL
declare x int;
set x = 0;
Run Code Online (Sandbox Code Playgroud)
某些语言要求您在声明时为变量赋值.此要求允许语言的编译器或解释器推断变量的类型:
蟒蛇
x = 0
Run Code Online (Sandbox Code Playgroud)
这些术语在各种语言的标准中通常具有精确的含义。在这种情况下,不应将它们混为一谈。
以c为例:
一个函数可能只定义一次(当你说出它的作用时),但它也可以在此之前声明(当你说出它接受什么参数以及它返回什么类型时)。
同样,当您说出变量的类型时,就会声明该变量,并且每个作用域仅发生一次。但您可以重复赋值。(某些语言还区分初始化(在声明时为变量赋予值)和赋值(稍后更改值)。)
| 归档时间: |
|
| 查看次数: |
5010 次 |
| 最近记录: |