I can declare something like:

QString string;

I can also declare:

QString * string;
string = new QString();


What is the difference, why should I use one instead of the other ?