C wektor ++ kod
Próbuję uzyskać kod źródłowy wektora, aby zobaczyć, jak zaimplementowano standardowy wektor std lub stl.
To jest do celów dydaktycznych. Teraz pytanie brzmi, gdzie mogę znaleźć kod źródłowy.
Pomocny jest także kod źródłowy innego kontenera C ++.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
4 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Twój kompilator powinien mieć własny plik nagłówkowy . Czy sprawdziłeś to w ścieżce dołączania kompilacji? Gdy stwierdzisz, że powinieneś również zobaczyć inne kontenery STL w odpowiednich nagłówkach. Lista dla Microsoft Visual C ++ to
tutaj
http://msdn.microsoft.com/en-u ... .aspx, w tym niektóre zastrzeżone, więc uważaj na to w poniższym przykładzie zrzeczenia odpowiedzialności:
W programie Visual C ++ .NET 2003 członkowie
nagłówek
pliki i nie znajdują się już w
std, ale raczej przeniesiona
do przestrzeni nazw stdext. Zobacz stdext
Aby uzyskać więcej informacji, zobacz przestrzeń nazw.
Kiedy instaluję Visual C ++ Express 2010, znajdują się one w tym folderze:
c:\program files\microsoft visual
Studio 10.0\vc\include
Anonimowy użytkownik
Potwierdzenie od:
Ale myślę, że właśnie tego chcesz, szeroko stosowanej implementacji gcc:
https://github.com/gcc-mirror/ ... ector
https://github.com/gcc-mirror/ ... ector
To jest główny plik nagłówkowy, a implementacja jest w
https://github.com/gcc-mirror/ ... tor.h
https://github.com/gcc-mirror/ ... tor.h
i
https://github.com/gcc-mirror/ ... tor.h
https://github.com/gcc-mirror/ ... tor.h
Używa MACRO, aby kod działał z dobrą wydajnością i pasował do zmiennych sytuacji, ale utrudnia czytanie, życzę wszystkiego najlepszego.
Anonimowy użytkownik
Potwierdzenie od:
http://www.sgi.com/tech/stl/download.html
http://www.sgi.com/tech/stl/download.html
.
Anonimowy użytkownik
Potwierdzenie od:
Standardowe kontenery bibliotek to wszystkie szablony klas, dlatego ich definicje i definicje wszystkich funkcji składowych są zawarte w odpowiednich nagłówkach.
Zauważ, że nie ma prawdziwej implementacji żadnego z kontenerów; każda implementacja biblioteki standardowej C ++ może zaimplementować każdy kontener według własnego uznania, o ile spełnia on wymagania kontenera.