|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
Angel
Joined: 02 Jan 2005 Posts: 113 Location: Latvija
|
Posted: Sat Jun 18, 2005 1:54 am Post subject: pievienot kko pie array |
|
Atkal jau taada vieta, kurai netieku paari :D
Es gribeeju uzzinaat, kaa vareetu pie array pievienot veel ierakstus (nu nezinu kaa lai tos nosaucu) piem man ir array objekts[6], kuraa visas daljas ir aizpilddiitas, bet tad paraadaas vajadziiba peec objekts[7].
It kaa jau vajadzeetu izveidot temp ar visiem seshiem objektiem, izdzeest objektu arraju, izveidot jaunu ar 7 daljaam un visu temp paaraakstiit atpakalj, un buus viens briivs, tach:
Nezinu kaa citiem, bet man ir taada lieta, ka c++.net nezin kaapeec neljauj izveidot arryu, ja tieshi nav noskaidraots taa izmeers jau kompilaacijas laikaa. t.b. Grib zinnat cik lielu to arraju vaig uzreiz, un tapeec neljauj kompileet kodu. Vai kaads nezin atrisinaajumu shai probleemai???
A Varbuut man tajaa .net ir kaada kljuuda? tas peedeejaa laikaa vsp diivaini uzvedas _________________
|
|
Back to top |
|
|
kaszu
Joined: 28 Dec 2004 Posts: 103 Location: Iceberg, Northpole
|
Posted: Sat Jun 18, 2005 2:27 am Post subject: |
|
1)Ja tev tas array izmērs pēc tam pēc 7 vēl palielināsies (tā gan jau būs), tad nav jēga veidot jaunu array ar izmēru 8, jo katra šāda array kopēšana aizņem laiku, tāpēc labāk izveidot array vecais_izmērs*2 = 14
(ja elementu ir jau daudz tad nevis *2, bet +kaut kāds fiksēts skaits, sākumā izmanto *2, kad elementu skaits > par konstanti, tad + ...).
2)Array veidot dinamiskā atmiņā
Code: | x *array;
array = new x[size]; //izveido masīvu ar tipu x ar izmētu size
//Lai palielinātu izmēru
x *array2;
array2 = array; //nomaina tikai norādi, nevis kopē datus!!!
//īsti neatceros kā saucas copymemory vai copyMemory
//un kāda bija kārtība (no kā, uz ko, izmērs) vai (uz ko, no kā, izmērs)
//sizeof nosaka izmēru
array = new x[newsize];
copymemory(array2, array, sizeof(array2));
delete array2;
//copy memory ir stirpi ātrāks nekā, ja kopētu ar ciklu. "stipri!"
|
Nezinu kā iekš c++.net ,bet iekš parastā c++ NEVAR izveidot masīvu ar nezināmu izmēru, jo nevar rezervēt nezināmu daudzumu atmiņas, tāpēc dinamiskā atmiņa ir labāka un ērtāka.
Pats to izmantoju. |
|
Back to top |
|
|
Vecais_Dumais_Laacis Guru
Joined: 29 Jan 2004 Posts: 800
|
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Sat Jun 18, 2005 9:12 am Post subject: |
|
Iekš C++ tam domāts STL templeite vector, bet iekš C++.NET, ja iespējams izmantot .NETiskās klases, tad gan jau arī tur ir kautkāda dinamiska masīva klase. |
|
Back to top |
|
|
Angel
Joined: 02 Jan 2005 Posts: 113 Location: Latvija
|
Posted: Sat Jun 18, 2005 11:50 pm Post subject: |
|
Paldies, par atsauciibu! Peec manaam domaam, man izdeviigaakais buus VDL padoms, jo tas ,vismaz man, liekas vienkaarsh =)
P.S. Vecais_Dumais_Laaci neapvainojies, ka saiisinaaju tavu niku _________________
|
|
Back to top |
|
|
gazz
Joined: 03 Jan 2004 Posts: 355 Location: Teika
|
Posted: Sun Jun 19, 2005 1:23 am Post subject: |
|
Es gan tomeer ieteiktu(par ljoti) papeetiit bubu ieteikto STL. Tas ir speeks un tikliidz apguusi kaa tas viss darbojas, tad aizmirsiisi par pliku array kaa taadu lietoshanu, jo cik esmu peetiijis tad performance zinjaa iipashas atskiriibas nav. vieniigi jaaraksta nedaudz vairaak |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|