【发布时间】:2011-03-24 14:21:05
【问题描述】:
我有 2 个循环:
//Loop 1
for ( vector<string>::iterator iter = vecv.begin() ; iter != vecv.end() ; iter++)
{
cout << "-----IN LOOP----" << *iter;
}
//Loop 2
for ( vector<string>::iterator iter = vecv.begin() ; iter != vecv.end() ; iter++)
{
cout << "-----IN LOOP----" << *iter << endl ;
}
现在 vecv 是一个字符串向量,包含 2 个字符串:
分别是65 和A000。
现在循环 1 不打印任何东西,实际上循环似乎根本没有运行。
但是,正如您在循环 2 中看到的那样,添加 endl 时,它会给出以下输出:
-----IN LOOP----65
-----IN LOOP----$A000
到底发生了什么?
请注意,我只在 Visual Studio 2010 而不是 Dev-C++ 中遇到这个问题!!
【问题讨论】:
-
"实际上循环似乎根本没有运行" > 你有没有试过把 IN LOOP 1 和 IN LOOP 2 来区分并确保它没有运行?
-
这个问题与 c++0x 有什么关系?请删除标签