La compréhension de trouver et de vecteurs C++
J'essaie de comprendre cette ligne de code
vector<int>::iterator it = find(list_vector.begin(), list_vector.end(), 5)
où j'ai vector<int> list_vector;
déclaré avant de la main.
Que signifie le 5 faire? En quoi est-il de retour? Est-il de retour le 5 si l'on peut trouver au début et à la fin? Si je voulais faire une instruction if, et je voulais savoir si le numéro 10 a été dans la déclaration (s'il l'était, retourner true) comment pourrais-je aller sur le faire?
- en.cppreference.com/w/cpp/algorithm/find
- Je pense que "RTFM", dur que cela puisse paraître, c'est la réponse ici...
- "trouver si le numéro 10 a été dans l' [si] déclaration"? Hein?
- Je m'excuse pour le "RTFM". J'ai essayé de regarder la réponse et ne pouvais pas trouver quoi que ce soit. Je n'arrive pas à faire si (vector<int>::iterator it = find(plist.begin(), plist.end(), nombre) == nombre) car c'est ce qui donne les erreurs. Des idées?
- Un itérateur qui imite un pointeur; vous avez le déréférencement d'elle pour récupérer le nombre. C'est, bien sûr, si l'itérateur n'est pas
plist.end()
(l'itérateur équivalent deNULL
). - ce n'est pas une syntaxe valide en C++. Une déclaration ne peut pas être une partie d'une expression. Si vous voulez delcare
it
et de la comparer à une valeur, vous devez le faire dans deux états distincts. - double possible de C++ de la comparaison d'une chaîne avec un tableau de chaînes de caractères
Vous devez vous connecter pour publier un commentaire.
std::find
recherches dans la gamme définie par ses deux premiers arguments. Elle retourne un itérateur pointant vers le premier élément qui correspond. Si aucun élément ne correspond, il retourne 2ème paramètre.list_vector.begin()
retourne un itérateur qui pointe vers le premier élément delist_vector
.list_vector.end()
retourne un itérateur qui pointe un élément au-delà de l'élément final de lalist_vector
.5
est la cible de la recherche.find()
va chercher un élément qui a de la valeur5
.Si vous souhaitez déterminer si 10 est présent partout dans le vecteur, ce faire:
Ou, si vous souhaitez déterminer simultanément si 10 est présent et déterminer son emplacement: