Avatar ·

Wie man Arrays in C++ richtig verwendet: Von statischen zu dynamischen Arrays und std::array

Hallo zusammen! Ich habe gerade angefangen, C++ nach Python zu lernen, und ich habe völlige Verwirrung mit Arrays. In Python habe ich einfach `arr = [1, 2, 3]` geschrieben, und alles hat funktioniert. Aber hier... Ich versuche, ein einfaches Programm zu schreiben, das 5 Zahlen speichert und ihre Summe ausgibt. Ich habe es so geschrieben: ```cpp int arr[5]; arr = {1, 2, 3, 4, 5}; ``` Aber der Compiler meckert: "array type 'int[5]' is not assignable". Okay, ich habe versucht, es direkt zu initialisieren: ```cpp int arr[5] = {1, 2, 3, 4, 5}; ``` Das hat funktioniert. Aber dann musste ich dieses Array an eine Funktion übergeben. Ich habe geschrieben: ```cpp void printSum(int arr[]) { int sum = 0; for(int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++) { sum += arr[i]; } cout << sum; } ``` Und hier ist die Seltsamkeit — `sizeof(arr)` gibt 8 zurück (Größe eines Pointers)