2015-10-22 2 views
0

У меня есть массив teams[size].Поиск индекса элемента в массиве

Team* relatedTeam 

Я знаю, что над relatedTeam является членом teams. Итак, это указатель. Как я могу найти его индекс из этой информации?

Я перехожу от java к C++.

Я ищу способ, как:

int pos = teams.indexOf(relatedTeam); 

К сожалению, я не мог бы объяснил это хорошо из-за моей бедной Enghlish.

Team* relatedTeam = findTeam("fenerbahce"); 

и методы findTeam

Team* SocReg::findTeam(string teamName) 
{ 
    for (int i = 0; i < size; i++) 
    { 
     if (stricmp(teams[i].getName, teamName.c_str) == 0) 
      return &teams[i]; 
    } 
    return NULL; 
} 

Я знаю, что команда возвращается без NULL из этого метода. Так что я просто нужно его индекс

+0

'relatedTeam - и команды [0]' даст вам индекс. Лучше всего просто вернуть индекс в первую очередь. –

ответ

0

Я думаю, что я получил, что

int index = relatedTeam - teams; 
+1

Вы можете рассмотреть возможность использования std :: find_if' вместо того, чтобы выкатывать свой собственный цикл. – juanchopanza

+0

нечувствителен к регистру. –

+0

Прочтите документы ... – juanchopanza

Смежные вопросы