アドレスやイテレータ同士引き算すると二つの要素数の差が出る

タイトル通り。例えば、vector型のコンテナのイテレータに対する引き算は次のようになる。

vector<int> b(10);
cout << b.at(3) - b.at(1) << endl; // 2

これを使って、例えばlower_boundの返り値のイテレータを引き算し、下限と上限の間に存在する要素数を計算することができる。