【发布时间】:2013-05-18 16:19:16
【问题描述】:
在其中一个 SO 线程中,我看到了一个未命名的 struct 的用法,它在 for 循环中充当不同类型的多个变量的占位符:
例如:
for(struct {
int i;
double d;
char c;
} obj = { 1, 2.2, 'c' };
obj.i < 10;
++obj.i)
{
...
}
这个compiles fine 带有 g++。
这是标准的 C++03 语法吗?
【问题讨论】:
-
我很确定是这样的。
-
+ 有趣,在 c99 中也可以
-
并在循环中使用
decltype(obj)来拥有其他变量!
标签: c++ for-loop struct anonymous-class