「boost::find」の版間の差分
提供: C++入門
(ページの作成:「<!-- vim: filetype=mediawiki --> __TOC__ == 概要 == boostのboost::find で std::vector の値を探すことが簡単にできます。Iteratorで...」) |
(相違点なし)
|
2013年3月20日 (水) 13:07時点における版
目次
概要
boostのboost::find で std::vector の値を探すことが簡単にできます。Iteratorでグルグル回して比較する必要はありません。
boost_find_vector.cpp の例
ソースコード boost_find_vector.cpp
#include <iostream> #include <vector> #include <boost/range/algorithm.hpp> using namespace std; int main (int argc, char *argv[]) { vector<int> v; v.push_back ( 1 ); v.push_back ( 2 ); v.push_back ( 3 ); v.push_back ( 4 ); vector<int>::iterator it = boost::find(v, 3); cout << *it << endl; return 0; }
コンパイル
g++ -I/usr/local/include boost_find_vector.cpp -o boost_find_vector
実行例
% ./boost_find_vector 3
値が見つからない例
ソースコード boost_find_vector.cpp
#include <iostream> #include <vector> #include <boost/range/algorithm.hpp> using namespace std; int main (int argc, char *argv[]) { vector<int> v; v.push_back ( 1 ); v.push_back ( 2 ); v.push_back ( 3 ); v.push_back ( 4 ); vector<int>::iterator it = boost::find(v, 100); // 見つからない値 cout << *it << endl; bool b = (it == v.end()); cout << b << endl; return 0; }
コンパイル
g++ -I/usr/local/include boost_find_vector.cpp -o boost_find_vector
実行例
値が見つからない場合は、Iteratorは、end()と同じ値です。
% ./boost_find_vector -1 1