Wektory C++ są częścią STL (Standardowa Biblioteka Szablonów). STL jest jedną z wielu bibliotek dostępnych dla C++, które zwiększają wydajność, elastyczność i wydajność aplikacji. Wektory są bardzo przydatne i mają kluczowe znaczenie dla każdego, kto chce opanować język C++.
Wektory C++ to zasadniczo kontenery, których można używać do przechowywania danych. Sprawiają, że praca z tablicami jest czysta i szybka, więc wiedza o tym, jak używać wektorów C++, jest cenną umiejętnością, jeśli chcesz opracować aplikację C++. Czytaj dalej, ponieważ omawiamy wszystko, co musisz wiedzieć o wektorach C++.
Czym są wektory C++?
Wektory C++ to kontenery sekwencji, które są podstawowym składnikiem standardowej biblioteki szablonów. Wektory reprezentują tablice, które w razie potrzeby mogą dynamicznie zmieniać rozmiar w czasie wykonywania.
W przeciwieństwie do tradycyjnych tablic, nie trzeba jawnie zarządzać alokacją pamięci wektora. Kontener wektora automatycznie zarządza jego pamięcią. Możesz myśleć o wektorach C++ jako o dynamicznej tablicy, która dostosowuje się po dodaniu lub usunięciu elementu.
Dodatkowo wektor układa swoje elementy w sposób ciągły. Oznacza to, że możesz łatwo uzyskać do nich dostęp za pomocą wskaźników lub iteratorów.
Jak std:: wektor działa
Teraz, gdy już wiesz, czym są wektory C++, musisz zrozumieć, jak działają, zanim zaczniesz używać ich w swoim kodzie.
Związane z: Czy C++ nadal będzie aktualny w 2021 roku?
Kiedy używasz wektora C++, wstawi on nowe elementy na końcu w czasie różnicowym. Dzieje się tak, ponieważ w niektórych przypadkach wektor będzie musiał się rozszerzyć, aby pomieścić nowy element. Podobnie, gdybyś miał wyodrębnić ostatni element wektora, zajęłoby to stały czas, w którym wektor nie musi dostosowywać swojej długości (rozmiaru).
Aby efektywnie korzystać z wektorów, korzystamy z iteratorów i wbudowanych funkcji. Iteratory są wskaźnikami używanymi obok wektorów C++. Ułatwiają przechodzenie przez kontener wektorowy. Istnieje wiele różnych funkcji wektorowych, a niektórym z nich przyjrzymy się w następnej sekcji.
Funkcje wektorowe w C++
Spójrzmy na niektóre funkcje iteratorów i kontenerów STL, które są powszechnie używane z wektorami C++:
- rozpocząć() zwraca wskaźnik iteratora, który wskazuje na pierwszy element wektora.
- kończyć się() zwraca wskaźnik iteratora do końcowej pozycji kontenera wektora.
- rpoczątek() jest jak rozpocząć(), ale daje iterator odwrotny wskazujący na ostatni element w wektorze.
- rozmiar() zwraca liczbę elementów przechowywanych w wektorze.
- największy rozmiar() zwraca maksymalną pojemność elementów, które może pomieścić kontener wektorowy.
- zmiana rozmiaru (x) zmieni rozmiar kontenera wektorów, aby mógł pomieścić x elementy.
- pusty() zwraca wartość true, jeśli kontener wektorowy nie zawiera elementów.
- push_back() wstawia na końcu nowy element do wektora.
- pop_back() wyodrębnia element z końca kontenera wektorów.
- wstawić() umożliwia dodanie elementu do wektora w określonej pozycji.
Przykład wektora C++
Używanie wektorów w C++ sprawia, że kodowanie za pomocą tablic jest elastyczne i szybkie. Rzućmy okiem na przykładowy kod, który używa wektorów C++.
#włączać
#włączać
używając standardowej przestrzeni nazw;
nieważne główne ()
{
wektor arr;
// push_back, aby dodać elementy na koniec naszego kontenera
arr.push_back (10);
arr.push_back (5);
arr.push_back (20);
// wektor zawiera teraz [10,5,20]
// użyj iteratora begin() do przechodzenia przez kontener aż do wskaźnika end()
cout << "iteratory begin() i end(): ";
for (auto j = arr.początek(); j != arr.end(); j++)
{
cout << *j << ' ';
}
// Oczekiwana wydajność: 10 5 20
// rbegin() i rend() używane do odwrócenia kontenera przemierzania wektorów
cout << "rbegin() i rend() iteratory: ";
for (auto j = arr.rbegin(); j != arr.rend(); j++)
{
cout << *j << ' ';
}
// Oczekiwana wydajność: 20 5 10
cout << "Rozmiar tablicy to: " << arr.size() << endl;
// Oczekiwany wynik: Rozmiar tablicy to: 3
// Zmień rozmiar tablicy, aby zawierała tylko 2 elementy
arr.resize (2);
cout << "Rozmiar tablicy to: " << arr.size() << endl;
// Oczekiwany wynik: Rozmiar tablicy to: 2
cout << "MaxSize(): " << arr.max_size() << endl;
cout << "Wektor pusty? " << arr.pusty() << endl;
// pop_back ostatni element
arr.pop_back();
// wstaw 5 na początku tablicy
arr.insert (arr.begin(), 5);
}
Związane z: Jak nauczyć się programowania w C++
Używanie wektorów w C++
Wektory C++ są elastyczne i potężne, dlatego są niezbędną funkcją dla każdego programisty C++. STL to ważna biblioteka C++, a jej szczegółowe zbadanie może pomóc w tworzeniu lepszych aplikacji.
Chcesz lepiej zrozumieć C++ dzięki bibliotece szablonów standardowych? Hit książki tutaj.
Czytaj dalej
- Programowanie
- Programowanie
- Programowanie obiektowe
Fahad jest pisarzem w MakeUseOf i obecnie studiuje informatykę. Jako zapalony pisarz technologii dba o to, by był na bieżąco z najnowszą technologią. Szczególnie interesuje się piłką nożną i technologią.
Zapisz się do naszego newslettera
Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Kliknij tutaj, aby zasubskrybować