Witam, pisze obecnie kilka programow, ktore moglbym pokazac na rozmowie i zastanawiam sie czy lepiej wyglądają własne rozwiązania czy też lepiej konsekwentnie korzystać z stl? Może ktoś z was piszę w C++ na codzien i może się podzielić doświadczeniami?
0
0
stl. po co wymyślać coś na nowo, męczyć się i pewnie jeszcze popełniać błędy?
0
Swoje struktury danych warto wykorzystać praktycznie tylko, jeśli twoje struktury danych mają jakieś funkcjonalności, których nie ma w STLu, a rozszerzenie obecnych kontenerów nie przyniosło by oczekiwanego wzrostu wydajności. Własne struktury i tak zresztą możesz oprzeć na STLu, tzn ogólnych interfejsach, czy też możesz jakoś dodać kompatybilność z STLem.
0
Kolejność jest taka:
- struktury języka (struct, class, union, tablica)
- struktury STL (vector, map, list, set...)
- struktury Boost (ptr_vector, array, etc)
- struktury własne
Z własnymi strukturami jest kilka problemów:
- są niestandardowe, więc zwiększają trudność wejścia w projekt
- mogą być problematyczne w użyciu ze standardowymi elementami środowiska (np. algorytmy STL)
- wymagają dogłębnego przetestowania (unit testy są niezbędne, poza tym testy wydajności)
Pytanie "czy używać STL" jest zasadne tylko i wyłącznie jeśli masz mało zasobów na docelowej maszynie (np. sterownik pralki).
Albo wręcz nie masz tej biblioteki dostępnej.
W innym przypadku celowa rezygnacja z STL prowadzić będzie tylko do problemów.