最も効率的な方法でブール演算子を使用して配列内のすべての項目を比較したいと考えています。配列内のすべての要素間の論理演算
bool myFunction(int i)
{
bool *myArray = {true, true, false, false, true};
//suppose we know that i = 5 and that i is the length of the array...
return myArray[0] && myArray[1] && myArray[2] && myArray[3] && myArray[4];
}
配列のサイズが固定されていないので、「I」の値を変更することができますし、私のreturn文は、もはや作業していないことになるので、私は何かを実装する必要があります:現在、私はこのような何かを持っています前の2から保存された結果とforループを作り、各要素を通過すると、リスト内の次の項目の値を比較するよりも、この他を行うには良い方法があった場合には、この
bool myFunction(int i)
{
bool *myArray = //some other array of bools
//should work with any value of i
bool result = myArray[0];
for (int a = 1; a < i; ++a)
{
result &= myArray[i];
}
return result;
}
ように私は思っていましたアイテム。これを簡単にするビット演算子のように、ループを取り出すものがあります。
最初のもの:標準のC++にはVLAがありません。 – SergeyA
私の悪いハハ、まだこの言語に新しい:S –
ここにいくつかの良い答えがあります:http:// stackoverflow。com/questions/20590733/check-if-value-exist-all-indexes-of-array –