Qual é a diferença entre “long”, “long long”, “long int” e “long long int” em C ++?

Estou fazendo a transição do Java para o C ++ e tenho algumas perguntas sobre olong tipo de dados. Em Java, para manter um número inteiro maior que 232, você simplesmente escreverialong x;. No entanto, em C ++, parece quelong é tanto um tipo de dados quanto um modificador.

Parece haver várias maneiras de usarlong:

long x;
long long x;
long int x;
long long int x;

Além disso, parece que existem coisas como:

long double x;

e assim por diante.

Qual é a diferença entre todos esses vários tipos de dados e todos eles têm o mesmo propósito?

questionAnswers(4)

yourAnswerToTheQuestion