Poprzednio używałem klas kolekcji MFC, takich jak CArray
i CMap
. Po pewnym czasie przełączyłem się na pojemniki STL i używam ich przez jakiś czas. Chociaż znajduję STL znacznie lepiej, nie jestem w stanie wskazać dokładnych przyczyn. Niektóre z uzasadnieniem takich jak:Dlaczego kontenery STL są preferowane w porównaniu z kontenerami MFC?
- Wymaga MFC: nie posiada, ponieważ inne części mojego programu korzysta MFC
- Jest to platforma zależne. Nie posiada, bo uruchomić mojej aplikacji tylko na oknach (Nie potrzebne do przenoszenia)
- to jest zdefiniowane w standardzie C++: OK, ale pojemniki MFC nadal pracować
jedynym powodem mogę wymyślić to, że można używać algorytmów na pojemnikach. Czy jest tu jakikolwiek inny powód, którego tu brakuje - co sprawia, że kontenery STL są lepiej dostępne niż kontenery MFC?
Możesz dodać do tytułu tego pytania, że przenośność nie jest problemem. Sam tytuł nie odzwierciedla teraz niektórych Twoich wymagań. –
STL jest zdecydowanie lepszy, jak wszystkie odpowiedzi na to pytanie, ale to, co naprawdę mnie drażni to to, że nadal jest pisanie ppl przy użyciu kontenerów MFC. Oczywiście, w większości używają one szablonów, ale przejście między nimi jest marnotrawstwem. Dlaczego stwardnienie rozsiane nie albo nie zdeprecjonują ich albo dodają iteratorów do nich właśnie oni siedzą na ogrodzeniu pissing od wszystkich innych. – Adrian
@Adrian, ponieważ niektórzy z nas muszą używać starszego kodu, ale chcą najnowszych narzędzi. Zapewnienie wsparcia dla starych rzeczy, ale także zachęcanie do nowych rzeczy jest najlepsze z obu światów. Zaufaj mi, to by mnie bardziej zaskoczyło, gdyby MS usunęło stare pojemniki. Zastanów się, że jeśli używasz MFC, prawdopodobnie masz do czynienia ze "starszą" aplikacją. :-D – franji1