Запитання з тегом «stl»

Стандартна бібліотека шаблонів або STL - це бібліотека C ++ із загальних контейнерів, ітераторів, алгоритмів та об'єктів функцій. Коли C ++ було стандартизовано, велика частина STL була прийнята до Стандартної бібліотеки, і ці частини в Стандартній бібліотеці також іноді помилково називають "STL".

7
push_back vs emplace_back
Я трохи розгублений щодо різниці між push_backі emplace_back. void emplace_back(Type&& _Val); void push_back(const Type& _Val); void push_back(Type&& _Val); Оскільки є push_backперевантаження з урахуванням рецензії, я не зовсім розумію, якою emplace_backстає мета ?


29
Який найпростіший спосіб ініціалізувати std :: vector з жорстко кодованими елементами?
Я можу створити масив та ініціалізувати його так: int a[] = {10, 20, 30}; Як створити std::vectorі ініціалізувати його настільки ж елегантно? Найкращий спосіб мене знає: std::vector<int> ints; ints.push_back(10); ints.push_back(20); ints.push_back(30); Чи є кращий спосіб?


17
Ітерація над std :: vector: непідписаний проти підписаної змінної індексу
Який правильний спосіб ітерації над вектором в C ++? Розглянемо ці два фрагменти коду, цей відмінно працює: for (unsigned i=0; i < polygon.size(); i++) { sum += polygon[i]; } і цей: for (int i=0; i < polygon.size(); i++) { sum += polygon[i]; } що породжує warning: comparison between signed and …
470 c++  stl  unsigned  signed 

14
Як дізнатися, чи існує вказаний ключ на карті C ++ std ::
Я намагаюся перевірити, чи вказаний ключ є на карті, і дещо це не вдається: typedef map<string,string>::iterator mi; map<string, string> m; m.insert(make_pair("f","++--")); pair<mi,mi> p = m.equal_range("f");//I'm not sure if equal_range does what I want cout << p.first;//I'm getting error here тож як я можу надрукувати те, що є в p?
451 c++  dictionary  stl 


5
Яка різниця між "STL" та "Стандартною бібліотекою C ++"?
Хтось звернув цю статтю до мене, що стверджує (я перефразую) термін STL зловживається для позначення всієї стандартної бібліотеки C ++ замість частин, взятих із SGI STL. (...) він посилається на "STL", незважаючи на те, що дуже мало людей досі використовують STL (що було розроблено в SGI). Частини стандартної бібліотеки C …


9
Чому я не можу скласти вектор посилань?
Коли я це роблю: std::vector<int> hello; Все чудово працює. Однак, коли я перетворюю його на вектор посилань: std::vector<int &> hello; Я отримую жахливі помилки на кшталт помилка C2528: 'pointer': вказівник на посилання є незаконним Я хочу помістити купу посилань на структури у вектор, щоб мені не доводилося втручатися в покажчики. …


11
Сортування вектора у порядку зменшення
Чи варто використовувати std::sort(numbers.begin(), numbers.end(), std::greater<int>()); або std::sort(numbers.rbegin(), numbers.rend()); // note: reverse iterators сортувати вектор у порядку зменшення? Чи є якісь переваги чи недоліки при одному чи іншому підході?
310 c++  sorting  stl  vector  iterator 

14
Найкращий спосіб дістати субвектор з вектора?
Припустимо, я маю std::vector(назвемо так myVec) розмір N. Який найпростіший спосіб побудувати новий вектор, що складається з копії елементів X через Y, де 0 <= X <= Y <= N-1? Наприклад, myVec [100000]через myVec [100999]вектор у розмірі 150000. Якщо це неможливо зробити ефективно з вектором, чи є інший тип даних …
295 c++  stl  vector  range 

23
Який найефективніший спосіб стерти дублікати та сортувати вектор?
Мені потрібно взяти вектор C ++ з потенційно великою кількістю елементів, стерти дублікати та сортувати його. На даний момент у мене є код нижче, але він не працює. vec.erase( std::unique(vec.begin(), vec.end()), vec.end()); std::sort(vec.begin(), vec.end()); Як я можу правильно це зробити? Крім того, чи швидше спочатку стерти дублікати (подібно до закодованого …
274 c++  sorting  vector  stl  duplicates 

4
std :: довжина рядка () та розмір () функції члена
Я читав відповіді на цей питання і виявив , що насправді метод називається length()для std::string(я завжди використовував size()). Чи є якась конкретна причина для використання цього методу в std::stringкласі? Я читаю і MSDN, і CppRefernce, і вони, схоже, вказують на відсутність різниці між size()і length(). Якщо це так, чи не …
263 c++  string  stl  size 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.