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

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

10
Визначте, чи карта містить значення для ключа?
Який найкращий спосіб визначити, чи карта STL містить значення для заданого ключа? #include <map> using namespace std; struct Bar { int i; }; int main() { map<int, Bar> m; Bar b = {0}; Bar b1 = {1}; m[0] = b; m[1] = b1; //Bar b2 = m[2]; map<int, Bar>::iterator iter …
256 c++  stl  map 

8
Чи потрібно std :: unique_ptr <T>, щоб знати повне визначення T?
Я маю код у заголовку, який виглядає приблизно так: #include &lt;memory&gt; class Thing; class MyClass { std::unique_ptr&lt; Thing &gt; my_thing; }; Якщо я включаю цей заголовок у cpp, який не включає Thingвизначення типу, то це не компілюється під VS2010-SP1: 1&gt; C: \ програмні файли (x86) \ Microsoft Visual Studio 10.0 …

13
Сортування вектору користувацьких об'єктів
Як сортувати вектор, що містить власні (тобто визначені користувачем) об'єкти. Можливо, стандартний алгоритм STL - то повинен використовуватися разом з предикатом (функція або функціональний об'єкт) , який буде працювати на одному з полів ( в якості ключа для сортування) в призначеному для користувача об'єкті. Я на правильному шляху?
248 c++  stl  sorting 

17
Як отримати всі ключі (або значення) з std :: map і помістити їх у вектор?
Це один із можливих способів виходу: struct RetrieveKey { template &lt;typename T&gt; typename T::first_type operator()(T keyValuePair) const { return keyValuePair.first; } }; map&lt;int, int&gt; m; vector&lt;int&gt; keys; // Retrieve all keys transform(m.begin(), m.end(), back_inserter(keys), RetrieveKey()); // Dump all keys copy(keys.begin(), keys.end(), ostream_iterator&lt;int&gt;(cout, "\n")); Звичайно, ми також можемо отримати всі значення …
246 c++  dictionary  stl  stdmap 

10
Як підсумувати елементи вектора C ++?
Які хороші способи знаходження суми всіх елементів у a std::vector? Припустимо, у мене вектор std::vector&lt;int&gt; vectorз кількома елементами в ньому. Тепер я хочу знайти суму всіх елементів. Які існують різні способи для одного?
240 c++  stl  vector 

27
Навіщо використовувати ітератори замість масивів індексів?
Візьміть наступні два рядки коду: for (int i = 0; i &lt; some_vector.size(); i++) { //do stuff } І це: for (some_iterator = some_vector.begin(); some_iterator != some_vector.end(); some_iterator++) { //do stuff } Мені кажуть, що другий спосіб є кращим. Чому саме це?

16
вектор проти списку в STL
Я помітив в Ефективній STL це вектор - тип послідовності, яку слід використовувати за замовчуванням. Що це означає? Здається, що ігноруйте ефективністьvector може все, що завгодно. Чи може хтось запропонувати мені сценарій, коли vectorце неможливо здійснити, але listйого слід використовувати?
238 c++  list  vector  stl 

17
Видаліть пробіли з std :: string в C ++
Який бажаний спосіб видалити пробіли з рядка в C ++? Я міг би проглянути всі символи та створити нову рядок, але чи є кращий спосіб?
222 c++  stl 

2
Чому я не можу не повернути унікальний_ptr у вектор?
Що не так з цією програмою? #include &lt;memory&gt; #include &lt;vector&gt; int main() { std::vector&lt;std::unique_ptr&lt;int&gt;&gt; vec; int x(1); std::unique_ptr&lt;int&gt; ptr2x(&amp;x); vec.push_back(ptr2x); //This tiny command has a vicious error. return 0; } Помилка: In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/mingw32/bits/c++allocator.h:34:0, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/allocator.h:48, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/memory:64, from main.cpp:6: c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/unique_ptr.h: In member function 'void __gnu_cxx::new_allocator&lt;_Tp&gt;::construct(_Tp*, const _Tp&amp;) …


15
С ++ сортування та відстеження індексів
Використовуючи C ++ і, сподіваюся, стандартну бібліотеку, я хочу сортувати послідовність зразків у порядку зростання, але я також хочу запам’ятати початкові індекси нещодавно зразків. Наприклад, у мене є набір, або вектор, або матриця зразків A : [5, 2, 1, 4, 3]. Я хочу їх сортувати за формою B : [1,2,3,4,5], …
216 c++  sorting  stl  indexing 

22
Чи std :: вектор набагато повільніше, ніж звичайні масиви?
Я завжди думав, що це загальна мудрість, яка std::vector"реалізована як масив", бла-бла-бла. Сьогодні я пішов і випробував це, і, здається, не так: Ось деякі результати тесту: UseArray completed in 2.619 seconds UseVector completed in 9.284 seconds UseVectorPushBack completed in 14.669 seconds The whole thing completed in 26.591 seconds Це приблизно …
212 c++  arrays  performance  stl  vector 

13
Чому C ++ STL так сильно базується на шаблонах? (а не на * інтерфейсах *)
Я маю на увазі, окрім обов'язкової назви (бібліотека стандартних шаблонів) ... Спочатку C ++ мав на меті представити поняття OOP в C. Тобто: ви могли сказати, що конкретна сутність може і чого не може робити (незалежно від того, як це робить), грунтуючись на її ієрархії класів і класів. Деякі композиції …
211 c++  oop  templates  stl 



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