stl

W jakim scenariuszu mogę użyć konkretnego kontenera STL?

Czytałem o kontenerach STL w mojej książce O C++, a konkretnie w sekcji O STL i jego kontenerach. Teraz rozumiem, że każdy z ... zumiem, to w jakim scenariuszu każdy z nich jest używany. Jakie jest wyjaśnienie? Przykładowy kod jest znacznie preferowany.

Iteracja nad std:: vector: zmienna indeksu unsigned vs signed

Jaki jest prawidłowy sposób iteracji nad wektorem w C++? Rozważmy te dwa fragmenty kodu, ten działa dobrze: for (unsigned ... trochę przerażająco i Wiem, że zmienne unsigned mogą być niebezpieczne, jeśli nie są używane poprawnie, więc - czy to prawda?

Jaka jest różnica między "stl" A "C++ Standard Library"?

Ktoś przyniósł Ten artykuł do mojej uwagi, że twierdzi (parafrazuję) termin STL jest niewłaściwie używany w odniesieniu d ... ęc nie mogę ocenić poprawność artykułu. Czy powinienem powstrzymać się od używania terminu STL? A może to odosobniona opinia?

Jaki jest najskuteczniejszy sposób kasowania duplikatów i sortowania wektora?

Muszę wziąć wektor C++ z potencjalnie dużą ilością elementów, usunąć duplikaty i posortować. Obecnie mam poniższy kod, ale n ... warantowane pozostanie sortowane po wykonaniu std::unique? A może jest inny (może więcej skuteczny) sposób na to wszystko?

push back vs emplace back

Jestem trochę zdezorientowany co do różnicy między push_back i emplace_back. void emplace_back(Type&& _Val); void pu ... l); Ponieważ istnieje push_back przeciążenie biorąc referencję rvalue nie bardzo rozumiem, jaki cel emplace_back staje się?

Dlaczego C++ STL jest tak mocno oparty na szablonach? (a nie na *interfejsach*)

Mam na myśli, poza obowiązującą nazwą (standardową biblioteką szablonów)... C++ początkowo zamierzał przedstawić koncepcje O ... głębszego powodu, dla którego porzucenie klasycznego OOP na rzecz szablonów dla STL? (Zakładając, że czytasz tak daleko :P)

Jak sprawdzić czy dany klucz istnieje w C++ std:: map

Próbuję sprawdzić czy dany klucz jest na mapie i jakoś nie mogę tego zrobić: typedef map<string,string>::iterator mi; ... re if equal_range does what I want cout << p.first;//I'm getting error here Więc jak Mogę wydrukować to, co jest w p?

std:: string formatowanie jak sprintf

Muszę sformatować std::string z sprintf i wysłać go do strumienia plików. Jak mogę to zrobić?

Jak wydrukować elementy wektora C++ w GDB?

Chcę sprawdzić zawartość std::vector W GDB, jak to zrobić? Powiedzmy, że to std::vector<int> ze względu na prostotę.

Pisanie własnego kontenera STL

Czy są jakieś wytyczne jak napisać nowy kontener, który będzie zachowywał się jak każdy STL kontener?

vector vs. list w STL

Zauważyłem w skutecznym STL, że Wektor jest typem ciągu, który powinno być używane domyślnie. Co to znaczy? Wydaje s ... robić wszystko. Czy ktoś mógłby mi zaproponować scenariusz, w którym vector nie jest wykonalną opcją, ale list należy użyć?

Dlaczego warto używać iteratorów zamiast indeksów tablicy?

Weź następujące dwie linijki kodu: for (int i = 0; i < some_vector.size(); i++) { //do stuff } I to: for (some_i ... vector.end(); some_iterator++) { //do stuff } Powiedziano mi, że preferowany jest drugi sposób. Dlaczego tak jest?

Czy std:: unique ptr wymaga znajomości pełnej definicji t?

Mam jakiś kod w nagłówku, który wygląda tak: #include <memory> class Thing; class MyClass { std::unique_ptr< ... ę std::unique_ptr tylko z deklaracją forward? Wydaje się to dziwne, ponieważ powinno trzymać tylko wskaźnik do Thing, prawda?

Czy std:: vector jest o wiele wolniejszy od zwykłych tablic?

Zawsze myślałem, że to ogólna mądrość, która jest "zaimplementowana jako tablica", bla bla bla. Dzisiaj zeszłam na dół i prze ... W Visual C++, #define _SECURE_SCL 0 zmniejsza UseVector o połowę(zmniejszając ją do 4 sekund). To jest naprawdę ogromne, IMO.

Usuń spacje z std::string w C++

Jaki jest preferowany sposób usuwania spacji z ciągu znaków w C++? Mógłbym przebić wszystkie znaki i zbudować nowy ciąg znaków, ale czy jest lepszy sposób?

Czy w Mapach STL lepiej używać map:: insert niż []?

Jakiś czas temu miałem dyskusję z kolegą o tym, jak wstawiać wartości w STL mapy . Wolałem map[key] = value;, ponieważ wydaje ... kcja członkowska jest zbędne: istnieje tylko dla wygody." Czy ktoś może mi podać ten powód, czy tylko śnię, że taki istnieje?

Jakich pułapek w C++ powinienem unikać? [zamknięte]

Pamiętam, że pierwszy raz uczyłem się o wektorach w STL i po jakimś czasie chciałem użyć wektora boolów w jednym z moich proj ... się, że wektor Booli nie jest tak naprawdę wektorem Booli . Czy są jakieś inne typowe pułapki, których należy unikać w C++?

Dlaczego C++ STL nie dostarcza żadnych kontenerów "tree"?

Dlaczego STL C++ nie dostarcza żadnych kontenerów" tree " i co jest najlepsze do wykorzystania w zamian? Chcę przechowywać hierarchię obiektów jako drzewo, a nie używać drzewa jako poprawy wydajności...

C++ wymazać element wektorowy według wartości, a nie według pozycji? [duplikat]

to pytanie ma już odpowiedzi tutaj : ... or.eraseElementWhoseValueIs(8); Czy po prostu muszę przejść przez wszystkie elementy wektorowe i przetestować ich wartości?

Sortowanie wektora obiektów niestandardowych

Jak można sortować wektor zawierający obiekty niestandardowe (np. zdefiniowane przez użytkownika). Prawdopodobnie należy użyć ... funkcyjnym), który operowałby na jednym z pól (jako klucz do sortowania) w obiekcie niestandardowym. Jestem na dobrej drodze?