come gestisco le stringhe in c++ in maniera tale da non dover dichiarare l'array di caratteri? ossia questo

#include <iostream.h>

main()

{

char[20] messaggio;

cin >> messaggio;

cout << messaggio << endl;

return(0);

}

non puo' essere modificato in maniera tale da non dover limitare l'inserimento dei caratteri al numero di 20 ?