先看一段代码
vector<int> the_vector;
vector<int>::iterator the_iterator;
for( int i=0; i < 10; i++ )
the_vector.push_back(i);
int total = 0;
the_iterator = the_vector.begin();
while( the_iterator != the_vector.end() ) {
total += *the_iterator;
the_iterator++;
}
cout << "Total=" << total << endl;
看一下这行代码
vector<int>::iterator the_iterator;
::这个符号在java,c中都就没见过,原来这个符号是表示作用域。
比如这行代码就是迭代器the_iterator是定义在vector<int>上的,为下面的the_iterator = the_vector.begin()做铺垫。
如果这句话是vector<double> d_vector; the_iterator = d_vector.begin();就会出错。
还有std:out就是说调用的是命名空间std中的out,因为有可能用户会自定义与out同名的函数,这样制定范围就不会混淆。

2747

被折叠的 条评论
为什么被折叠?



