Avatar billede dsj Nybegynder
12. januar 2004 - 23:53 Der er 3 kommentarer og
1 løsning

Kode-struktur ved iterationer

Når nu man itererer gennem en række elementer, kan værdien erklæres på følgende 2 måder:

1) Udenfør løkken

Iterator i = ...;
Object o;
while(i.hasNext())
  o = i.next();

2) Inden i løkken
Iterator i = ...;
while(i.hasNext())
  Object o = i.next();

Det jeg er interesseret i at vide er, om der er nogen forskel i forbindelse med hvordan objektet 'o' allokeres i hukommelsen. I 1) kunne man f.eks. forestille sig, at et enkelt område blev allokeret og genbrugt til hver objekt returneret af i.next(), mens 2) for hver i.next() allokerede et nyt område til det returnerede objekt og derfor muligvis var mindre effektiv i forhold udnyttelse af hukommelsen.

Performance er der ikke forskel på, det har jeg testet...
Avatar billede erikjacobsen Ekspert
12. januar 2004 - 23:57 #1
Oversætteren vil allokere et fast område til en pointer i begge tilfælde. Der er
derfor ingen forskel på det, rent udførelsesmæssigt, men 2) er mere læselig!
Avatar billede dsj Nybegynder
13. januar 2004 - 00:17 #2
Ja, jeg bryder mig også mere om den anden model, da især hvis ikke det gør nogen forskel. Der må smides et svar...
Avatar billede erikjacobsen Ekspert
13. januar 2004 - 08:59 #3
Tak, jeg samler ikke på point ;)
Avatar billede dsj Nybegynder
13. januar 2004 - 10:10 #4
Nåh nej, det har jeg da også hørt om vidst nok :)
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