我在向量中转换int值然后为vector.size()
条件,做一些事情
我的条件是if(values.size()==1)
在第一次总是vector.size()是1,怎么可以等到获得所有的int值并且在获得第一个int之后没有快速地这个条件的东西,需要一个其他条件?
vector<int> values;
while(true){
int key = mySwitch.getReceivedValue();
values.push_back(key);
if (values.size() == 1 ) { //not do this in first time quickly wait,maybe vector size is bigger
//do something
}
} else if (values.size() > 1 && values.size() <= 7) {
//do something
} else if (values.size() > 7) {
values.clear();
continue;
}
}
答案 0 :(得分:0)
如果我理解正确你有一个循环,并且第一次在循环中你不想做任何事情,当矢量的大小是一个?
然后只需添加一个布尔标志,您可以将其设置为例如在循环之前为true,然后在循环中将其设置为false,并在检查大小时检查此标志。
像
这样的东西bool first_time_in_loop = true;
for (...)
{
...
if (!first_time_in_loop && values.size() == 1)
{
// Will not be performed the first time the loop iterates
...
}
else if ...
...
first_time_in_loop = false;
}