std::vector
の文字列を見つけるのに、string
タイプの文字列を使用しています。しかし、どのように特定の要素の位置を返すのですか?ベクトル<string> :: iterator - 要素の位置を見つける方法
コード:
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
vector<string> vec;
vector<string>::iterator it;
vec.push_back("H");
vec.push_back("i");
vec.push_back("g");
vec.push_back("h");
vec.push_back("l");
vec.push_back("a");
vec.push_back("n");
vec.push_back("d");
vec.push_back("e");
vec.push_back("r");
it=find(vec.begin(),vec.end(),"r");
//it++;
if(it!=vec.end()){
cout<<"FOUND AT : "<<*it<<endl;
}
else{
cout<<"NOT FOUND"<<endl;
}
return 0;
}
出力:
FOUND AT : r
予想される出力:
FOUND AT : 9
ありがとうございました!私のベクトルに '1000要素'が含まれていて、 'find'を使うと速くなるでしょうか、何らかの' pointer to array'を使う必要があるのでしょうか? – user2754070
@ user2754070あなたはそれを測定する必要がありますが、最適化されたビルドでは 'find'より速くなるとは思っていません。 – juanchopanza