如何存储矢量的大小然后做条件

时间:2015-12-07 06:53:47

标签: c++ vector

我在向量中转换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;
                }
}

1 个答案:

答案 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;
}