Mam oto taki kod do dodawania integera do tablicy, problem w tym ze tworze nowa tablice i tam kopiuje zawartosc pierwszej dodaje element i nastepnie kopiuje te tablice do nowej, troche mi to nie pasi ze wzgledu ze w tablicy co ja chce miec mam bitmapy i to mi spowolni juz i tak zzerajacy procesor watek.
typedef DynamicArray<int> INDEX_ARR;
void __fastcall ADD_TO_ARRAY_INTEGER(INDEX_ARR & table, int value)
{
INDEX_ARR temp;
temp.set_length(table.Length+1);
int i;
for (i = 0; i < table.Length; i++)
temp[i] = table[i];
temp[temp.Length - 1] = value;
table.set_length(temp.Length);
for (i = 0; i < table.Length; i++)
table[i] = temp[i];
temp.set_length(0);
}
Jak inaczej dodac element do tablicy.
Kod moze byc w C++ nie ma to zbytniego znaczenia tablica tez n ie musi byc definiowana przez typedef dynamicarray<>
Ogolnie to musze jak najbardziej zaoszczedzic czas dodawania elementow do tablicy.
tablice statyczne nie za bardzo mi pasuja chociaz moge sztywno ustawic np. 256 elementow.
ale w kodzie na tworzenie obiektow w tablicy moge zmiescic 16,7 milionow elementow z czego pewnienie nie przekrocze 150