Свързани публикации 'stl'


Изследване на двустранни опашки (Deque) в C++ Standard Template Library (STL)
Двустранните опашки, известни също като deques, са важна структура от данни в компютърните науки. В C++ Библиотека със стандартни шаблони (STL) , класът deque осигурява гъвкаво изпълнение на двустранни опашки. Deques комбинират характеристиките както на стекове, така и на опашки, позволявайки ефективно вмъкване и изтриване на елементи в двата края. Тази статия ще ви запознае с контейнера deque в C++ STL, обяснявайки неговата функционалност, предимства и общи методи. Общ преглед на..

C++ Standard Template Library (STL): Изчерпателен преглед
Библиотеката със стандартни шаблони (STL) е съществена част от езика за програмиране C++. Това е колекция от шаблонни класове и функции, които предоставят широка гама от структури от данни и алгоритми за ефективно и повторно използвано разработване на код. STL се състои от четири основни компонента: алгоритми, контейнери, функции и итератори. В тази статия ще разгледаме подробно всеки един от тези компоненти, като подчертаем техните характеристики и предимства. Алгоритми : STL..

Свързани въпроси 'stl'

Кога два елемента от STL набор се считат за идентични?
От cplusplus.com: template < class Key, class Compare = less<Key>, class Allocator = allocator<Key> > class set; „Сравнение: Клас за сравнение: Клас, който приема два аргумента от същия тип като елементите на...
3836 изгледи
schedule 22.09.2022

Как мога да се уверя, че разпределената памет за std::vector се връща на операционната система след освобождаване?
Кодът по-долу извиква foo и използвайте while(1) , за да наблюдавате използването на паметта. Както знам, след отпечатването на „завършено“, var d се освобождава и STL контейнерът сам ще освободи пространството за данни (купчина). #include...
541 изгледи
schedule 17.09.2022

Защо да използвате rbegin() вместо end() - 1?
Чудя се какви са предимствата от използването на rbegin() вместо end() - 1 за STL контейнери. Например, защо бихте използвали нещо като: vector<int> v; v.push_back(999); vector<int>::reverse_iterator r = v.rbegin();...
12445 изгледи
schedule 16.09.2022

Как да поддържате агрегати в STL или STL-подобна библиотека
Как да въведем поддръжката на агрегатна инициализация за правилното им изграждане в (напр.) STL контейнери? Имам предвид нещо като: struct A { int i; char c; }; std::list< A > l; // empty l.insert(std::memberwise, 1, '2'); // <=>...
104 изгледи
schedule 16.09.2022

std::map функция за сравнение и NULL
Написах функция за сравнение за std::map, за да мога да имам потребителски типове ключове. std::map<GGString *, GGObject *, GGDictionaryMapCompare> _map; ... class GGDictionaryMapCompare { public: bool operator()(GGString * lhs,...
1671 изгледи
schedule 23.09.2022

C++ STL: списък с указатели - итераторът няма достъп?
Боря се със STL списък, който съдържа указатели на моя обект "Object". Декларирах: list<Object*> objectlist; и вмъкнат чрез: this->objectlist.push_back(new Object(address,value,profit)); и се опита да повтори като в карти...
38595 изгледи
schedule 01.10.2022

Какъв е правилният синтаксис за функция член на шаблонен клас, за да върне тип структура?
В Съхраняване на C++ дефиниции на шаблонни функции в .CPP файл може да се научи как да се съхранява изпълнение на шаблон в .cpp. Въпреки това не успях да го направя, ако типът връщане е структура, която е дефинирана вътре в класа. Вижте,...
22 изгледи
stl
schedule 30.09.2022

Асоциативна карта на ключ към ключ в C++
Търся нещо като карта "Ключ към ключ" в C++. Намерението ми е следното: Всеки ключ - от "лявата" или "дясната" страна е уникален Ключът от лявата страна може да бъде търсен от ключа от дясната страна и обратно Като пример и за да...
1030 изгледи
schedule 29.09.2022

std::erase и std::remove комбинация за изтриване на конкретен елемент не работи за конкретен пример
#include <vector> #include <algorithm> using namespace std; int main() { vector<int> a = {1,2,3,7,1,5,4}; vector<int> b = {6,7,4,3,3,1,7}; a.erase(remove(a.begin(),a.end(),a[0]),a.end());...
2519 изгледи
schedule 04.10.2022

Прикачване на char буфер към вектор‹char› в STL
Какъв е правилният (и ефективен) начин за прикачване на съдържанието на C буфер ( char * ) към края на std::vector<char> ?
20154 изгледи
schedule 10.10.2022

Съхраняване на обекти в STL вектор - минимален набор от методи
Какво е "минимална рамка" (необходими методи) на сложен обект (с изрично неправилни вътрешни данни), който искам да съхранявам в STL контейнер, напр. <vector> ? За моите предположения (пример за сложен обект Doit): #include...
1662 изгледи
schedule 11.10.2022

Превключете от STL на Microsoft към STLport
Използвам доста STL в критичен за производителността C++ код под Windows. Един възможен "евтин" начин да получите допълнителна производителност би бил да преминете към по-бърза STL библиотека. Според тази публикация STLport е по-бърз и използва...
12386 изгледи
schedule 14.10.2022

Защо std::ends причинява неуспешно сравнение на низове?
Прекарах около 4 часа вчера, опитвайки се да поправя този проблем в моя код. Опростих проблема до примера по-долу. Идеята е да съхраните низ в поток от низове, завършващ със std::ends, след което да го извлечете по-късно и да го сравните с...
2389 изгледи
schedule 24.11.2022

C++: Присвояване на стойности на непрекъснати индекси във вектори?
Ако искам да декларирам вектор с неизвестен размер, тогава присвоя стойности на индекс 5, индекс 10, индекс 1, индекс 100 в този ред. Лесно ли е изпълнимо във вектор? Изглежда, че няма лесен начин. Защото, ако инициализирам вектор без размер,...
1938 изгледи
schedule 30.10.2022

индекс или позиция в std::set
Имам std::set от std::string. Имам нужда от "индекс" или "позиция" на всеки низ в набора, това смислено понятие ли е в контекста? Предполагам, че find() ще върне итератор към низа, така че въпросът ми може да бъде по-добре формулиран като: "Как да...
19327 изгледи
schedule 07.11.2022

Какъв е смисълът на STL?
Програмирах c++ от около година и когато разглеждам, виждам много препратки към STL. Може ли някой да ми каже какво прави? и предимствата и недостатъците от това? също какво ми дава над borlands VCL или MFC? Благодаря
3137 изгледи
schedule 16.10.2022

Подаване на std::string в API на библиотека
В момента изграждаме API за определена библиотека. Част от интерфейса изисква библиотеката да получава и връща към потребителските класове като вектор и низ. Когато се опитвате да симулирате използването на библиотеката в прост сценарий, в режим...
2687 изгледи
schedule 15.11.2022

Каква е стойността по подразбиране на итератора?
За всеки STL контейнер, който използвам, ако декларирам итератор (от този конкретен тип контейнер), използвайки конструктора по подразбиране на итератора, към какво ще бъде инициализиран итераторът? Например имам: std::list<void*>...
54737 изгледи
schedule 18.11.2022

STL обектите използват локал на C Runtime Library за преобразуване с плаваща запетая, когато използват _ENABLE_PER_THREAD_LOCALE?
Локалът на C Runtime е зададен от setlocale . Локалът на стандартната C++ библиотека (STL) се задава от класа std::locale и може да се задава на отделни STL обекти като std::istringstream и т.н. Функцията...
1541 изгледи
schedule 16.10.2022

Кой STL C++ контейнер да използвам за списък с фиксиран размер?
Имам консумиращо приложение, което трябва да съхрани максимум 100 обекта в списък, за да подаде обратно извикване за обработка, тъй като ще бъде излишно да пазя стари данни, ако потребителят не навакса. Когато пристигнат нови данни, те могат просто...
15973 изгледи
schedule 28.11.2022