Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

kopiowanie tablicy wielowymiarowej

Ostatnio zmodyfikowano 2015-06-23 19:43
Autor Wiadomość
pekfos
» 2015-06-23 15:36:55
- mam tablicę tablica[l][k]
- mam vector std::vector<struktura> kontener;
tablica ma typ elementu struktura? Jeśli tak, to zależy, co chcesz zrobić z kontener. Jeśli dopiero go tworzysz, to std::vector<> ma konstruktor robiący to, co teraz potrzebujesz. Jeśli masz już utworzony kontener i nie chcesz tracić już zawartych w nim elementów, to możesz użyć std::copy() np w taki sposób:
C/C++
#include <iterator>
std::copy( & tablica[ 0 ][ 0 ], & tablica[ 0 ][ 0 ] + l * k, std::back_inserter( kontener ) );
Najlepiej nie traktować tablicy dwuwymiarowej jako jednego bloku, i użyć wielu wywołań std::copy(). W tym przypadku to powinno działać, ale jak przejdziesz na tablice innego rodzaju, np dynamicznie alokowane struktura**, czy coś podobnego, to wtedy już nie możesz zastosować takiego rozwiązania.

Wybacz, ale kod ma około 1000 linii
To nie jest wiele. Jeśli uważasz, że kod jest za długi, by go wkleić na forum, uprość go, ale tak, by dalej zawierał problem. Być może już sama ta czynność nakieruje cię na rozwiązanie.
P-133976
Anim
Temat założony przez niniejszego użytkownika
» 2015-06-23 19:43:07
Dziękuję za pomoc :) w zupełności to mi wystarczyło ^^
P-133982
1 « 2 »
Poprzednia strona Strona 2 z 2