Pytania otagowane jako stl

Standardowa biblioteka szablonów (STL) to biblioteka C ++ zawierająca ogólne kontenery, iteratory, algorytmy i obiekty funkcji. Kiedy C ++ został znormalizowany, duże części STL zostały zaadoptowane do Biblioteki Standardowej, a te części w Bibliotece Standardowej są czasami błędnie określane zbiorczo jako „STL”.



11
Jak skutecznie wyczyścić kolejkę std :: queue?
Do implementacji klasy JobQueue używam std :: queue. (Zasadniczo ta klasa przetwarza każde zadanie w sposób FIFO). W jednym scenariuszu chcę wyczyścić kolejkę za jednym zamachem (usunąć wszystkie zadania z kolejki). Nie widzę żadnej przejrzystej metody dostępnej w klasie std :: queue. Jak efektywnie wdrożyć przejrzystą metodę dla klasy JobQueue? …
166 c++  stl  queue 

10
Czy powinienem przechowywać całe obiekty, czy też wskaźniki do obiektów w kontenerach?
Projektowanie nowego systemu od podstaw. Będę używać STL do przechowywania list i map pewnych długotrwałych obiektów. Pytanie: Czy powinienem upewnić się, że moje obiekty mają konstruktory kopiujące i przechowują kopie obiektów w moich kontenerach STL, czy też ogólnie lepiej jest samodzielnie zarządzać życiem i zakresem i po prostu przechowywać wskaźniki …
162 c++  stl  pointers 

3
Jak uzyskać wskaźnik std :: vector do surowych danych?
Próbuję użyć std::vector jako chartablicy. Moja funkcja przyjmuje void pointer: void process_data(const void *data); Wcześniej po prostu użyłem tego kodu: char something[] = "my data here"; process_data(something); Który działał zgodnie z oczekiwaniami. Ale teraz potrzebuję dynamiki std::vector, więc zamiast tego wypróbowałem ten kod: vector<char> something; *cut* process_data(something); Pytanie brzmi, jak …
160 c++  stl  vector 

3
Jakie są gwarancje złożoności standardowych pojemników?
Najwyraźniej ;-) standardowe kontenery dają jakąś formę gwarancji. Jakie rodzaje gwarancji i jakie dokładnie są różnice między różnymi typami kontenerów? Pracując ze strony SGI (o STL ) wymyśliłem to: Container Types: ================ Container: Forward Container Reverse Container Random Access Container Sequence Front Insert Sequence Back Insert Sequence Associative Container Simple …
160 c++  stl  containers  big-o 


6
Czy kolejność iteracji przez std :: map jest znana (i gwarantowana przez standard)?
Chodzi mi o to - wiemy, że std::mapelementy są posortowane według kluczy. Powiedzmy, że klucze są liczbami całkowitymi. Jeśli wykonam iterację od std::map::begin()do std::map::end()a for, czy standard gwarantuje, że będę konsekwentnie przechodzić przez elementy z kluczami posortowane w kolejności rosnącej? Przykład: std::map<int, int> map_; map_[1] = 2; map_[2] = 3; …
158 c++  dictionary  stl  standards 

2
Co oznacza iterator-> drugi?
W C ++, jaki jest typ a std::map<>::iterator? Wiemy, że obiekt ittypu std::map<A,B>::iteratorma przeciążenie, operator ->które zwraca a std::pair<A,B>*, i że std::pair<>ma firstisecond . Ale czemu odpowiadają te dwa elementy i dlaczego musimy uzyskać dostęp do wartości przechowywanej na mapie jako it->second?
157 c++  stl  iterator 

7
szybki sposób na skopiowanie jednego wektora do drugiego
Wolę dwa sposoby: void copyVecFast(const vec<int>& original) { vector<int> newVec; newVec.reserve(original.size()); copy(original.begin(),original.end(),back_inserter(newVec)); } void copyVecFast(vec<int>& original) { vector<int> newVec; newVec.swap(original); } Jak ty to robisz?
155 c++  algorithm  stl 




11
Jak usunąć element z wektora STL o określonej wartości?
Przeglądałem dokumentację API dla wektora stl i zauważyłem, że w klasie vector nie ma metody, która pozwalałaby na usunięcie elementu o określonej wartości. Wydaje się to typową operacją i wydaje się dziwne, że nie ma na to wbudowanej metody.
145 c++  stl 


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.