STLマップでSTL binary_searchを使用できるかどうか疑問に思っています。試してみましたが、まだ動作しません
map<int,string> dataMap;
if(binary_search (dataMap.begin().first, dataMap.end().first, key))
// do some stuff
前もって感謝します!:)
STLmapは本質的に二分探索木map::findです。コンテナー メンバー関数が存在する場合は、それを使用することをアルゴリズムよりも推奨します。
std::map::lower_bound、std::map::findおよびをstd::map::upper_bound代わりに使用してください。
if(binary_search (dataMap.begin().first, dataMap.end().first, key))
binary_serach には反復子が必要です。dataMap.begin().firstおよびdataMap.end().firstイテレータではありません。もう 1 つの問題は、アクセスするdataMap.end().firstとアプリケーションがクラッシュする可能性が非常に高いことです。