Was der C++-Standard über die Größe von int, long und long long sagt
Hallo zusammen! Ich habe gerade angefangen, C++ zu lernen, und bin auf Verwirrung gestoßen. Ich weiß, dass die Größen der Integer-Typen je nach Compiler und Plattform variieren können. Ich habe einen einfachen Code geschrieben, um das auf meinem Rechner (Windows, MinGW) zu überprüfen:
```cpp
#include
using namespace std;
int main() {
cout << "Size of int: " << sizeof(int) << " bytes" << endl;
cout << "Size of long: " << sizeof(long) << " bytes" << endl;
cout << "Size of long long: " << sizeof(long long) << " bytes" << endl;
return 0;
}
```
Auf meinem Computer habe ich erhalten: int = 4 Bytes, long = 4 Bytes, long long = 8 Bytes. Aber im Internet habe ich gelesen, dass auf Linux x86_64 long 8 Bytes sein kann. Mein Freund sagte, dass auf alten 16-Bit-Systemen int 2 Bytes war.
Mich interessiert: Was garantiert der C++-Standard tatsächlich? Kann ich mich darauf verlassen, dass int immer 4 Bytes ist? Warum sind long und int auf meinem Windows gleich, aber auf Linux unterschiedlich? Und wie schreibe ich portablen Code, wenn die Größen pl...