Größe eines feldes
-
Hi
ich hab ein Feld aus int-werten
wie kann ich die größe durch eine variable festlegen
weilint k=5; int feld[k];funktioniert ja nicht
danke
-
#include <vector> int main() { int k = 5; std::vector<int> feld(5); feld[0] = 42; }
-
oder so
const int k = 5; int feld[k];
-
Meep Meep schrieb:
oder so
const int k = 5; int feld[k];bikstfri schrieb:
Hi
wie kann ich die größe durch eine variable festlegen
-
brotbernd schrieb:
#include <vector> int main() { int k = 5; std::vector<int> feld(5); feld[0] = 42; }Was ich an deinem code jetz nicht verstehe:du verwendest das k ja garnicht,sondern initialisierst es nur?oder verstehe ich das falsch?
-
ähm oh ja..
#include <vector> int main() { int k = 5; std::vector<int> feld(k); feld[0] = 42; }
-
Es gibt noch einen Weg, wie du ein rohes Feld mit einer nicht konstanten Größe anlegen könntest, er ist jedoch nicht ungefährlich, daher empfehle ich dir ebenfalls die Methode von brotbernd.
-
bikstfri schrieb:
Hi
ich hab ein Feld aus int-werten
wie kann ich die größe durch eine variable festlegen- Was in anderen Sprachen Feld heißt, heißt in C und C++ Array. Nur damit du dich nicht wunderst, wenn jemand dich mal nicht versteht.
- Die Größe von solchen C-style Arrays muss eine Compilezeit-Konstante sein. Also eben keine Variable. Allerdings benutzt man in aktuellem C++ solche Arrays inzwischen so gut wie garnicht mehr, stattdessen nimmt man entweder std::array für Arrays fester Größe, std::vector für Arrays, deren Größe zur Compilezeit nicht feststeht oder sich sogar ändern kann.
-
pumuckl schrieb:
- Was in anderen Sprachen Feld heißt, heißt in C und C++ Array. Nur damit du dich nicht wunderst, wenn jemand dich mal nicht versteht.
Ich würde eher sagen, dass Feld die deutsche Entsprechung für Array ist. Sprachunabhängig. Aber du hast natürlich Recht, dass Array gebräuchlicher ist und eher verstanden wird.