我有一个vector<ClassA>
(比如说my_vector
,这个ClassA 本身是 ClassB 的向量),我想写if condition
来测试条件,这样
(1)。如果只有一个元素不是空的,而其他所有元素都是空的,(因为 my_vector 的大小是 5,我应该一个接一个地测试这个非空的元素案例,例如 my_vector[0]、my_vector[1]、.. )
(2) 同样,如果两个元素不为空而其他元素为空(其他对类似)
(3) 同样,三个或三个以上的元素不为空
我正在考虑如何编码
这是我的尝试
if (!my_vector[0].empty() && my_vector[1].empty() && my_vector[2].empty() && .. &&
my_vector[4].empty()){ //process 1}
else if (!my_vector[1].empty() && my_vector[0].empty() && my_vector[2].empty() && ..){
//process 2}
else if(!my_vector[2].empty() && my_vector[0].empty() && my_vector[1].empty() && ..){
//process 3}
...
...
else if (!my_vector[0].empty() && !my_vector[1].empty() && my_vector[2].empty() && ..
my_vector[4].empty()){ //process n}
else if (!my_vector[0].empty() && !my_vector[2].empty() && my_vector[1].empty() && ..
my_vector[4].empty()){ //process n+1}
....
....
else if (!my_vector[0].empty() && !my_vector[1].empty() && !my_vector[2].empty() &&
my_vector[3].empty() && my_vector[4].empty()){ //process p}
....
like wise
这真的很难测试,任何有条不紊的方法都可以做到这一点。 提前致谢。