Kontener wielowymiarowy a dobre praktyki programowania

0

Cześć,

Mam pytanie odnośnie dobrych praktyk programowania.

Jeżeli chcę mieć kontener wielowymiarowy, to czy powinienem sam taki kontener w postaci generyka zaprogramować,
czy powinienem do tego użyć np. wektora który zawiera wektory? A może powinienem użyć np. zwykłego wektora i zapisać to wszystko
w jednym wymiarze (chociaż chciałbym mieć o wiele wygodniejszy sposób dostępu do danych).

Problem w tym, że chciałbym mieć kontener 3wymiarowy, więc w pierwszy sposób miałbym wtedy kontener zawierający kontener kontenerów i
nie wiem czy to jest dobry pomysł.

Dziękuję za pomoc :)
Pozdrawiam

0

A jakie znaczenie ma wybór odpowiedzi? Tak czy siak będziesz mógł uzyskać strukturę trzy wymiarową.

0

A jaki ma sens programowanie obiektowe? Można wszystko jechać w asemblerze. Chcę mieć coś co jest prostego do zaimplementowania, utrzymania i jest czytelne i proszę o radę. Tylko tyle.

2
vector<vector<vector<double> > > Tb(Z,vector<vector<double> >(Y,vector<double>(X,0)));

Masz 3-wymiarową tablicę.

0

Dziękuję właśnie o to mi chodziło, czyli najlepiej robić po prostu wektory wektorów :)

1

Nie najlepiej, a najłatwiej (osiągając jednocześnie odpowiednie bezpieczeństwo kodu). W C++17 będziesz najprawdopodobniej miał std::array_view ( http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3851.pdf ), teraz możesz użyć Boost.MultiArray lub napisać taki array_view samemu - to nie jest nic trudnego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1