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

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

8
vector :: at vs. vector :: operator []
Я знаю, що at()це повільніше, ніж []через перевірку меж, що також обговорюється в подібних питаннях, таких як C ++ Vector at / [] оператор швидкість або :: std :: vector :: at () vs operator [] << дивовижні результати !! У 5-10 разів повільніше / швидше! . Я просто не …
95 c++  stl  stdvector 

2
std :: back_inserter для std :: set?
Я думаю, це просте запитання. Мені потрібно зробити щось подібне: std::set<int> s1, s2; s1 = getAnExcitingSet(); std::transform(s1.begin(), s1.end(), std::back_inserter(s2), ExcitingUnaryFunctor()); Звичайно, std::back_inserterне працює, оскільки немає push_back. std::inserterтакож потрібен ітератор? Я не використовував, std::inserterтому не знаю, що робити. Хтось має ідею? Звичайно, інший мій варіант - використовувати вектор для s2, а …
94 c++  algorithm  stl 




7
Перевірка вмісту стандартного контейнера (std :: map) за допомогою gdb
Припустимо мати щось подібне: #include <map> int main(){ std::map<int,int> m; m[1] = 2; m[2] = 4; return 0; } Я хотів би мати можливість перевірити вміст карти, на якій запущена програма, з gdb. Якщо я спробую використовувати оператор нижчого індексу, я отримую: (gdb) p m[1] Attempt to take address of …
93 c++  stl  map  gdb 

8
Який контейнер STL слід використовувати для FIFO?
Який контейнер STL найкраще відповідав би моїм потребам? В основному я маю контейнер із 10 елементами ширини, в якому я постійно створюю push_backнові елементи, pop_frontпереглядаючи найстаріший елемент (приблизно мільйон разів). В даний час я використовую a std::dequeдля цього завдання, але мені було цікаво, чи a std::listбуде більш ефективним, оскільки мені …
93 c++  stl  fifo 

4
Як отримати певний елемент у списку, враховуючи позицію?
Отже, у мене є список: list<Object> myList; myList.push_back(Object myObject); Я не впевнений, але впевнений, що це буде "0-й" елемент у масиві. Чи є якась функція, яку я можу використовувати, яка повертає "myObject"? Object copy = myList.find_element(0); ?
92 c++  list  stl 

2
як додати об'єкт списку <T> до іншого
в C ++ у мене є два list&lt;T&gt;об'єкти, Aі Bя хочу додати всіх членів Bдо кінця A. Я шукав кілька різних джерел і не знайшов простого рішення (ei A.append(B);), і це мене трохи дивує. Який найкращий спосіб це зробити? Як це трапляється, мені після цього байдуже до B (воно видаляється …
92 c++  list  stl 

8
Альтернатива векторному <bool>
Як (сподіваємось) ми всі знаємо, vector&lt;bool&gt;він повністю зламаний і не може розглядатися як масив C. Який найкращий спосіб отримати цю функціональність? Поки що ідеями, про які я думав, є: Використовуйте vector&lt;char&gt;замість цього, або Використовуйте клас обгортки та маєте vector&lt;bool_wrapper&gt; Як ви, хлопці, вирішуєте цю проблему? Мені потрібна c_array()функціональність. Як побічне …
92 c++  stl  vector  boolean 

2
Чому std :: stack за замовчуванням використовує std :: deque?
Оскільки єдиними операціями, необхідними для використання контейнера в стеку, є: назад () відсунути() pop_back () Чому контейнер за замовчуванням для нього є декаком замість вектора? Чи не перерозподіли за допомогою deque дають буфер елементів перед front (), щоб push_front () був ефективною операцією? Хіба ці елементи не витрачаються даремно, оскільки …
91 c++  stl  containers 


9
std :: map insert або std :: map find?
Припустимо карту, де ви хочете зберегти існуючі записи. 20% випадків запис, який ви вставляєте, - це нові дані. Чи є перевага робити std :: map :: find, а потім std :: map :: insert, використовуючи цей повернутий ітератор? Або швидше зробити спробу вставки, а потім діяти, виходячи з того, вказує …
90 c++  optimization  stl  stdmap 

6
Початкова ємність вектора в C ++
Що таке capacity()a, std::vectorякий створений за допомогою конструктора за замовчуванням? Я знаю, що size()нуль. Чи можемо ми стверджувати, що сконструйований за замовчуванням вектор не викликає виділення купи пам'яті? Таким чином можна було б створити масив з довільним резервом, використовуючи єдине виділення, наприклад std::vector&lt;int&gt; iv; iv.reserve(2345);. Скажімо, з якихось причин я …

6
Як оновити std :: map після використання методу find?
Як оновити значення ключа в std::mapпісля використання findметоду? У мене є декларація карти та ітератора, така: map &lt;char, int&gt; m1; map &lt;char, int&gt;::iterator m1_it; typedef pair &lt;char, int&gt; count_pair; Я використовую карту, щоб зберігати кількість повторень символу. Я використовую Visual C ++ 2010.
90 c++  map  stl  stdmap 

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