Yhes kirjas (joku c opus) oli kysymys mitä eroa noilla on?
Harmi kun kirjas ei oo vastauksii kysymyksiin. Itseni mielestä nuo on ihan samajuttu, tosin taidan olla vääräs.
int *x = new int[10];
ja
int *x = new int(10);
Harmi kun kirjas ei oo vastauksii kysymyksiin. Itseni mielestä nuo on ihan samajuttu, tosin taidan olla vääräs.
int *x = new int[10];
ja
int *x = new int(10);
Vastaukset 7
Vanhimmat
>...mitä eroa noilla on?
Onkohan nuo edes oikeaa syntaxia mutta int[10] on taulukon alkio ja int(10) on funktiokutsu.
Aivan oikeassa olet ja tiedänkin tuon functiokutsun ja taulukko alkion. Mutta entä tässä tapauksessa kun puhe on dynaamisesta muistinvaraamisesta?
Ensinmäinenhän varaa muistia kymmenelle alkiolle, toinen tekee mitä?
Kutsuu int functiota ja vie sille 10 parametrinä? Mitä tekee int functio? En ole semmoista itse määritellyt.
Tuo tuonen varaa yhden int:n verran muistia, ja alustaa sen arvolla 3.
Että mistä tuo kolmonen tulee?
Luo uuden int olion ja alustaa sen arvolla 10
Kiitoksia kaikille nyt on tämäkin asia selvinnyt.
Minäkin epäilin tuota pieneksi virheeksi, mutta opetellessa ohjelmointikieliä olen huomannut, ettei kaikki välillä olekkaan niin yksinkertaista kuin luulisi. Joten parempa varmistaa asia kuin oppia väärin.
mun onnennumero.