为什么不能一次声明和修改变量? (C++)
Why can't variables be declared and modified at once? (C++)
为什么这是有效的:
int main()
{
double good; good++;
return 0;
}
但这不是:
int main()
{
double good++;
return 0;
}
我知道通常您想在递增变量之前将变量初始化为某个值(因为那样它只会包含来自内存的随机垃圾),但我只是好奇为什么后者不允许这样做。 post-increment 运算符不是在返回值之后发生吗? ++good 不起作用是有道理的,但我不明白为什么 good++ 不起作用。
您几乎已经回答了您的问题:因为声明没有赋值。因此你的第二个样本 never 是有道理的。
第一个示例由两个独立的语句组成,每个语句在特定上下文中都有意义。因此它编译。
为什么这是有效的:
int main()
{
double good; good++;
return 0;
}
但这不是:
int main()
{
double good++;
return 0;
}
我知道通常您想在递增变量之前将变量初始化为某个值(因为那样它只会包含来自内存的随机垃圾),但我只是好奇为什么后者不允许这样做。 post-increment 运算符不是在返回值之后发生吗? ++good 不起作用是有道理的,但我不明白为什么 good++ 不起作用。
您几乎已经回答了您的问题:因为声明没有赋值。因此你的第二个样本 never 是有道理的。
第一个示例由两个独立的语句组成,每个语句在特定上下文中都有意义。因此它编译。