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

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

16
Як перетворити wstring в рядок?
Питання в тому, як перетворити wstring в рядок? Маю наступний приклад: #include <string> #include <iostream> int main() { std::wstring ws = L"Hello"; std::string s( ws.begin(), ws.end() ); //std::cout <<"std::string = "<<s<<std::endl; std::wcout<<"std::wstring = "<<ws<<std::endl; std::cout <<"std::string = "<<s<<std::endl; } вихід із коментованим рядком: std::string = Hello std::wstring = Hello std::string …
204 c++  unicode  stl  wstring 

12
Чи краще на картах STL використовувати map :: insert, ніж []?
Деякий час тому я мав дискусію з колегою про те, як вставити значення в STL- карти . Я віддав перевагу map[key] = value; тому, що він відчуває себе природним і його чітко читати, тоді як він вважав за краще map.insert(std::make_pair(key, value)) Я просто запитав його, і ніхто з нас не …
201 c++  stl  map  stdmap 

5
C ++ STL Вектори: Отримати ітератор з індексу?
Отже, я написав купу коду, який звертається до елементів у stl-векторі за індексом [], але тепер мені потрібно скопіювати лише фрагмент вектора. Схоже, vector.insert(pos, first, last)це функція, яку я хочу ... за винятком того, що я є лише першою та останньою як ints. Чи є приємний спосіб отримати ітератор цих …
200 c++  stl  vector  iterator 

12
Викидання найпотужніших людей з перевантаженого літака.
Скажімо, у вас літак, і він мало пального. Якщо літак не скине 3000 фунтів ваги пасажирів, він не зможе дістатися до наступного аеропорту. Щоб врятувати максимальну кількість життів, ми хотіли б спочатку скинути найважчих людей із літака. І о так, у літаку мільйони людей, і ми хотіли б оптимального алгоритму …
200 c++  algorithm  sorting  stl 

7
Навіщо використовувати функції початку та закінчення, які не є членами, у C ++ 11?
Кожен стандартний контейнер має beginі endспосіб повернення ітераторів для цього контейнера. Однак, C ++ 11, очевидно, запровадив вільні функції, які називаються std::beginі std::endякі викликають функції beginта endчлен. Отже, замість того, щоб писати auto i = v.begin(); auto e = v.end(); ти напишеш auto i = std::begin(v); auto e = std::end(v); …


7
Що насправді деке в STL?
На цей питання є відповіді на Stack Overflow на російському : Окремість розміщення елементів в std :: deque Я дивився на контейнери STL і намагався зрозуміти, якими вони є насправді (тобто використовувана структура даних), і деке зупинило мене: спочатку я подумав, що це подвійний зв'язаний список, який дозволить вставити та …
193 c++  stl  deque 

7
Чому std :: list :: reverse має складність O (n)?
Чому функція звороту для std::listкласу в стандартній бібліотеці C ++ має лінійне виконання? Я думаю, що для подвійно пов'язаних списків зворотна функція повинна була бути O (1). Повернення подвійно пов'язаного списку повинно включати перемикання вказівників голови та хвоста.
192 c++  c++11  stl  linked-list 

13
Ти не спадкуєш від std :: vector
Гаразд, це визнати насправді важко, але у мене зараз сильна спокуса успадкувати std::vector. Мені потрібно близько 10 налаштованих алгоритмів для вектора, і я хочу, щоб вони були безпосередньо членами вектора. Але, природно, я хочу також мати інший std::vectorінтерфейс. Ну, моя перша ідея як законослухняного громадянина полягала в тому, щоб мати …
189 c++  oop  inheritance  stl  vector 

14
STL або Qt контейнери?
Які плюси і мінуси використання Qt контейнерів ( QMap, QVectorі т.д.) над їх STL еквівалент? Я бачу одну причину віддати перевагу Qt: Контейнери Qt можуть передаватися в інші частини Qt. Наприклад, їх можна використовувати для заповнення a, QVariantа потім a QSettings(але з деяким обмеженням, приймаються лише QListта QMap/ QHashчиї ключі …
185 c++  qt  stl 

10
У якому сценарії я використовую конкретний контейнер STL?
Я читав про контейнери STL у своїй книзі на C ++, зокрема розділ про STL та його контейнери. Тепер я розумію, що кожен з них має свої специфічні властивості, і я близький до запам'ятовування всіх них ... Але я ще не розумію, в якому сценарії використовується кожен з них. Яке …




6
Як ініціалізувати std :: vector з масиву стилю C?
Який найдешевший спосіб ініціалізувати std::vectorмасив зі стилю С? Приклад: У наступному класі у мене є vector, але через зовнішні обмеження дані передаватимуться як масив у стилі C: class Foo { std::vector<double> w_; public: void set_data(double* w, int len){ // how to cheaply initialize the std::vector? } Очевидно, я можу зателефонувати, …
174 c++  arrays  vector  stl 

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