Wpis z mikrobloga

@adek_es: na pewno powinieneś pomyśleć o tym, jak kontener będzie używany. Zastanów się, czy więcej będzie zapisów, czy odczytów, poważnie zastanówi się nad profilowaniem kodu(co da Ci odpowiedź na pytania z poprzedniego zdania) i pomyśl o zmianie sposobu alokacji w kontenerze. I nie mówię tu o pisaniu swojego własnego alokatora, ale chociażby o zmianie wielkości bloku, który jest alokowany, gdy kontener musi zostać rozszerzony.
@Kaczus2B: @michalfranc: @enceladus71: Dzięki za odpowiedzi. Co do zapisów/odczytów, to początkowo nie będzie wielu. Dane z bazy danych będą odbierane i prezentowane w postaci grida (projekt w MFC). Być może w miarę rozwoju projektu będzie więcej zastosowań dlatego nie chce po prostu wypisywać gołych danych wprost z bazy, bo byłoby to też trudne nieco.
@adek_es: Ciężko powiedzieć czy w ogóle jest sens się nad tym zastanawiać, bo większym obciążeniem jest samo ściąganie danych z bazy. Prawdą jest natomiast, że jeśli nie będziesz używał prealokacji pamięci na std::vector, to wektor wektora może być bardzo niewydajny.
@adek_es: Jak było napisane wyżej, zależy to od sposóbu dostępu do danych (kolejno, czy po indeksie), ilości zapisów/odczytów i wreszcie ilości danych.
W programach często wystepuje zasada 20/80 - 20% kodu jest odpowiedzialne za 80% czasu pracy programu. Jeżeli te dane nie są krytyczne w odniesieniu do wydajności, lub jest ich niewiele, możesz spokojnie olać kwestię optymalizacji i skupić się na pisaniu kodu, który będzie czytelny i łatwy w utrzymaniu.