範囲とは、反復子のペアを意味します。疑似 C++ では次のようになります。
std::vector<int> v1 = { 1, 2, 3, 4, 5 };
std::vector<int> v2 = { 2, 3, 4 };
if( std::compare_range( v1.begin() + 1, v1.end() - 1, v2.begin(), v2.end() ) {
std::cout << "Alright\n";
}
compare_range
もちろん、私が探している機能です。
免責事項: これは書くのがかなり簡単な関数であることはわかっています。しかし、すべてのプログラマーと同様に、私は怠け者になるように努めています ;-)
ベストアンサー1
std::equal
探している関数テンプレートです。
if (std::equal(v1.begin() + 1, v1.end() - 1, v2.begin())
{
std::cout << "Alright\n";
}
引数は 4 つではなく 3 つだけであることに注意してくださいstd::equal
。