我的理解是在循环完成执行后,在内存中创建的变量或者从内存中释放/循环的变量(参见参考文献1).但是为什么下面的代码显示变量正在使用PREVIOUS循环中的值?那是因为stringstream变量有一些特殊的力量吗?
以下是我的C++代码片段:
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main(){
string str="1A2";
stringstream ss(str);
int intVar;
while(ss.good()){
char charVar;
ss >> intVar;
ss>> charVar;
cout<<"intVar="<<intVar << " charVar="<<charVar<<endl;
}
}
Run Code Online (Sandbox Code Playgroud)
以下2行是实际输出:
intVar=1 charVar=A
intVar=2 charVar=A
Run Code Online (Sandbox Code Playgroud)
为什么它不是以下2行?
intVar=1 charVar=A
intVar=2 charVar=
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
68 次 |
| 最近记录: |