C++言語でのint型とlong型とlong long型の違いについて
C++において、int型とlong型とlong long型の違いについて教えていただきたいです。
特に表現できる上限値について知りたくて、調べてみると下記な認識です。
int -> 2^31 - 1
long -> 2^31 - 1
long long -> 2^63 - 1
intとlong longの違いはわかるのですが、longの位置付けがよくわからないです。
longもlong longも2^63 - 1ですし。Atcoderの解説の動画で、intで足りない場合はlong longを使うといった内容を解説されたのですが、え、intの次っていったらlongじゃないのかな?
などと疑問に思って調べてみたらなおさらよくわからなくなったという背景です。
longとlong longの違いについて、上限値の観点で説明いただけますと助かります。
バージョンによるかもしれないので、c++11使ってることも共有しておきます。
よろしくおねがいします。