2012-05-08 44 views

回答

5

是的,有:

#include <iostream> 
int main() { 
    for (int i=0, j=10; i<10; ++i, ++j) { 
    std::cout << i << ", " << j << "\n"; 
    } 
} 

然而,类型要初始化必须是相同的,因为你需要用逗号的变量。

+0

哦,我现在明白了。类型必须相同。谢谢。 – Aslan986

+0

在这种情况下,逗号是标点符号。 –

6

当然,使用逗号:

vector<int> v; 

// ... 
for (vector<int>::iterator i = v.begin(), e = v.end(); i != e; ++i) 
{ 

} 

为什么这个“作品”是由于for语句来是如何定义的(我后添加一个分号我暗示for-init-statement为清楚起见):

for (表达式语句简单声明;条件选择;表达选择)

一个简单的声明是一种类型接着由逗号分隔的说明符的列表(其是一个标识符,也许指针/参考/数组符号,和一个可选的初始化器)。

+0

谢谢。你不要使用'vector :: iterator'和'e'。为什么? – Aslan986

+2

由于声明以类型说明符开头,后跟逗号分隔的声明列表。 “for”陈述中的糖以外是相同的。 – user7116

2

使用逗号。

for (vector<int> i = v.begin(), e = v.end(); i != e; ++i){ ...} 
+0

这是相当错误的! – juanchopanza

+0

我编辑了你的文章,因为你的意图我认为是正确的,只是语法错了。 –

+0

感谢您的编辑。我刚刚拿到了OP最初发布的内容,并将“AND”变成逗号。 –