【发布时间】:2011-10-13 21:11:29
【问题描述】:
我一直认为,如果我声明这三个变量,它们的值都会为 0
int column, row, index = 0;
但我发现只有索引等于 0,其他都是垃圾,例如 844553 和 2423445。
如何在不将每个变量都声明为新行的情况下将所有这些变量初始化为零?
【问题讨论】:
-
小心那些单行多变量声明。声明一个 int 指针后跟一个常规整数列表比您想象的要容易(
int* a, b, c;不像它看起来那样)。 -
只有三个变量,伙计,在定义中为每个变量写上
=0。而且,如果你真的想要很多变量,那么试试一个数组:int a[10]={0}将为你将每个a[i]初始化为 0。 -
编译器不应该允许这种结构,如果它的行为不同于一个合理的程序员所期望的......恕我直言
-
@cph2117 一个理性的程序员会认为'嗯,这个语法可能意味着几个不同的东西,这取决于语法如何绑定东西',查看标准以找出答案这是真的,继续努力。
-
停止这样做。它只会使代码更难阅读。用高级语言编写代码的目的是让维护者更容易阅读。
标签: c++