Avatar ·

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...