重複の可能性:
ポインタが配列内を指しているかどうかを確認する
配列とサイズがあり、特定のポインターが配列内の要素を指しているかどうかを確認したい場合、UBを呼び出さずに標準のCまたはC ++でこれを行う方法はありますか?
これは機能しますか?
bool is_inside(someType * array, int size, someType * other_pointer){
for (int i = 0; i < size; i++)
if (array + i == other_pointer)
return true;
return false;
}
編集:UBなしで同じ配列を指していないポインター以外の比較は使用できないことを理解しています==
(!=
実際には期待どおりに機能しますが)。私はこれで間違っていましたか?