Como iterar através de uma lista de objetos em c ++

Eu sou muito novo em c ++ e luto para descobrir como devo percorrer uma lista de objetos e acessar os membros.

Eu tenho tentado isso onde 'dados' é a lista e 'aluno' uma classe.

std::list<Student>::iterator<Student> it;
for(it = data.begin(); it != data.end(); ++it){
    std::cout<<(*it)->name;
}

e recebendo o seguinte erro

error: base operand of ‘->’ has non-pointer type ‘Student’

questionAnswers(4)

yourAnswerToTheQuestion