C++:变量声明初始化顺序
问题描述:
答
[dcl.decl]/3说
-3-每个INIT-在一个声明被单独分析,如果它是在由本身的声明。
这意味着你的代码是一样处理:
int a = pop();
int b = pop();
int c = pop();
+2
嗯 - 我不相信这意味着可预测的初始化顺序... – 2013-03-06 13:32:36
+3
仍然不能保证任何特定的顺序。 – 2013-03-06 13:33:05
+1
注97提供了一个解释,但使用“通常”的工作。然而,我相信这只意味着这条规则有明确的例外,但它不是“由编译器决定”。 – 2013-03-06 13:34:26
你能解释一下为什么这很重要?我们可能会给出更好的答案 – alestanis 2013-03-06 13:29:11
我想只写一行而不是3行:) – shoosh 2013-03-06 13:34:59
提高可读性并使用3行声明您的订单。就这么简单。无论如何,摆脱两条糟糕的线条有什么意义? – stefan 2013-03-06 13:35:49