Avatar billede mysitesolution Nybegynder
12. oktober 2006 - 10:16 Der er 7 kommentarer og
1 løsning

Parameter rækkefølge

Hej...

Hvis man har en metode i C som kunne hedde:

blah(int i, int j)

og man kører den ved:

blah(enVærdi(), enVærdi());

kan man ikke være sikker på at den fra parameter0 bliver udført før paramter1, men kan man det i Java?
Avatar billede Slettet bruger
12. oktober 2006 - 10:20 #1
Hvad mener du helt præcist?
Du kan jo så i din funktion blah tjekke om værdi_1 er sat, og hvis den er udfører noget, og så tjekke om værdi_2 er sat, og udfører noget andet.
Avatar billede mysitesolution Nybegynder
12. oktober 2006 - 10:37 #2
i C er man nød til at gøre sådan:

int i = enVærdi();
int j = enVærdi();
blah(i, j);

for at sikre at enVærdi() først er kaldt for i. Hvis du derimod siger:

blah(enVærdi(), enVærdi()) kan man ikke sikre at enVærdi() først er kaldt for i og det kan ødelægge ens resultater.
Avatar billede mikkelbm Nybegynder
12. oktober 2006 - 10:45 #3
Uden at være 100% sikker, så vil jeg da tro at dine metoder bliver kaldt i den rækkefølge parametrene bliver repræsenteret.
Avatar billede mysitesolution Nybegynder
12. oktober 2006 - 11:53 #4
regner jeg også med når vi snakker VM, men skal helst være 100% sikker.
Avatar billede jakoba Nybegynder
12. oktober 2006 - 12:27 #5
Parameterlister bliver evalueret fra venstre imod højre.
http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.7.4
Avatar billede arne_v Ekspert
12. oktober 2006 - 13:30 #6
hvis det betyder noget d.v.s. hvis enVærdi returnerer forskelligt tror jeg nok
at jeg ville skrive det C style alligevel

en ting er hvad Java garanterer - noget andet er hvad der er tydeligt for
dem som skal læse koden
Avatar billede mysitesolution Nybegynder
27. oktober 2006 - 10:04 #7
okay tak jakoba, men opretter du ikke svar?
Avatar billede jakoba Nybegynder
27. oktober 2006 - 20:28 #8
joda.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester