24. november 2000 - 12:13Der er
12 kommentarer og 1 løsning
Mest hensigtsmæssigt?
Jeg bruger Borland Builder C++ 4.0. Og er ved at lave et administration program, som kan tilføje og slette, læse fra en database og lidt til. Jeg har lavet et Array[2000] som er meget stort, det tager jo meget ram, men er det ikke bedre at lave et dynamisk array? Som kan blive enten større eller mindre. Bliver et program ikke mere ustabilt med et statisk array.
Et array med 2000 elementer er ikke meget på nudags computer! Det kommer selvfølgelig an på hvad du gemmer i den! Er det meget store objeketer, eller er det simple objeketer eller enkelte variabler?
Du kan sagtens bruge et statistik array! Det er stabilt nok
Jeg vil anbefale dig at kigge på en TList i stedet, ofrdi den optager kun ram for de elementer som du bruger og udover det kan den udvidesig og trække sig sammen igen....
Hvorfor bruger du overhovedet tid på at behandle en tabel ??? Hvis du benytter C++ Builder\'s databser er der ingen grund til at arbejde med tabeller: Hvis du laver din database adgang med en TTable komponent kan du \"pege\" på en hvilken som helst post i dtabasen direkte vha. RecNo propertyen.
programmer bliver absolut ikke mere ustabilt ved brug af statiske arrays, det er tværtimod omvendt, at det kan blive ustabilt hvis de dynamiske er kodet dårligt.
hvis du syntes det giver dårlig performace, så prøv at lægge arrayet ud på hoben( med new operatoren, så er du fri for at dit operativsystem skal finde mere plads til din nye voksede stak).
Hvis dit array skal indeholde elementer, hvor du skal kunne søge på en property, kunne det måske være en idé at overveje at implementere det med et binært søgetræ, hvis elementerne blot skal være sorteret er det nok med en enkelthægtet liste.
Tjaa, jeg er stadig i gang med at teste, men det ser ud til at det bliver med en Tlist som borrisholt havde nævnt, men det med binære søgetræer har intet med mit spg at gøre, så det er udelukket, men jeg arbejder stadig på det. Jeg er taknemmelig for alle de råd jeg har fået, hvilket er ret positivt. Hvem der får point, kan jeg ikke sige endnu. Ole
oletaft <- hvis objekterne er \"tunge\" så kan du bare lave et array med pointere til disse objekter, pointere er jo rimelig hurtige at kopiere, så du kan lave et dynamisk array meget mere fleksibelt på den måde. Du kan desuden instatiere et \"tomt\" array med en vis længde uden at det fylder mere end længden gange størrelsen af en pointer. Når dit array så skal udvides/krympes er det kun pointerne, der skal flyttes på.
Nej, men det holder ikke det som at du siger.. søgetræer er hurtigere til tekst, men det er de jo også hvis det er tal som man søger på. Så du har ret i at det er hurtigere, bare ikke ret i at det er bedre fordi at det er tekst man arbejder på.
Dumt spørgsmål, men findes der ikke nok template-understøttelse i den der builder så std::list eller std::vector kan anvendes?
mwo
Synes godt om
Ny brugerNybegynder
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.