Я прочитал почти все нити, которую я нашел через Google, но это не помогло мне ..Возврат индекс позиции STRUCT в векторе
У меня-структуру внутри класса:
struct animation {
int identifier;
int another_variable;
};
хранить кучу этих структур в векторе:
static std::vector<animation> anims;
Теперь мне нужно найти индекс (позицию) в виде структуры, на основании идентификатора поля.
// This is what I found so far
int Animation::get_animation_index(int identifier) {
std::find(anims.begin(), anims.end(), identifier) - anims.begin();
}
Идея заключается в том, чтобы получить вектор индекс anims [0] .. anims [хой], где структура с хм идентификатором хранится.
Я попробовал его в цикле, но тогда я только получить доступ к самому объекту, а не индекс ..
for (Animation::animation a : anims) {
if (a.identifier == identifier) {
// a is now the object, but I need the vector index..
Любые идеи?
Используйте «старый стиль» для цикла. –
'for (size_t i = 0; i
David
Посмотрите на http: // stackoverflow.com/questions/589985/vectors-structs-and-stdfind, например. или более актуальным http://stackoverflow.com/questions/14437825/using-stdfind-with-a-predicate –