I am first reading C++ GUI programming in Qt to get a general idea of Qt and along the way I have got an idea of C++ specialties (over C which I know somewhat okay) of what a class is etc.

But I do not understand a few things:

Sometimes you have class.function() and sometimes class->function()

I don't understand the difference.

Also between & and *

void setEditText ( const QString & text )
void setValidator ( const QValidator * validator )

I have seen * going into the declaration of a function in C, but & -- ? But I note that & inside the argument occurs only for signals and slots. Something special here?

Last: I see the word const *after* the declaration of a function:

int currentIndex () const

What does this mean?