stl

Что такое значение итератора по умолчанию?

для любого контейнера STL, который я использую, если я объявляю итератор (этого конкретного типа контейнера) с помощью конструктора по умолчанию итератора, к чему будет инициализирован итератор? например, у меня есть: std::list<void*> addre ...

Удалить все элементы из C++ std:: vector

Я пытаюсь удалить все от std::vector С помощью следующего кода vector.erase( vector.begin(), vector.end() ); но это не работает. Update: разве clear не уничтожает элементы, удерживаемые вектором? Я не хочу этого, так как я все еще использую объе ...

Проверить, если итератор действует

есть ли способ проверить, является ли итератор (будь то из вектора, списка, дека...) (все-таки) уникальным, т. е. не была признана недействительной? Я использую try -catch, но есть ли более прямой способ сделать это? пример: (который не работает) ...

std:: transform () и toupper (), без соответствующей функции

я попробовал код из этого вопроса C++ std:: transform() и toupper() ..почему это не удается? #include <iostream> #include <algorithm> int main() { std::string s="hello"; std::string out; std::transform(s.begin(), s.end(), std::bac ...

Что быстрее, повторяя вектор STL с помощью vector:: iterator или с помощью at()?

С точки зрения производительности, что будет работать быстрее? Есть ли разница? Это зависит от платформы? //1. Using vector<string>::iterator: vector<string> vs = GetVector(); for(vector<string>::iterator it = vs.begin(); it != v ...

Является ли хэш-карта частью STL?

быстрый question...Is hash_map часть STL? ...

В чем преимущество multimap над картой векторов?

Я не понимаю, почему multimap существует, если мы можем создать карту векторов или карту множеств. Для меня единственными отличиями являются: используя equal_range в multimap для получения элементов ключа и в карте векторов мы просто используем [] ...

В чем разница между std::string и std::basic string? А зачем нужны оба?

в чем разница между std::string и std::basic_string? А зачем нужны оба? ...

В чем разница между std::set и std::vector?

сейчас я изучаю STL. Я читал о set контейнер. У меня есть вопрос, когда вы хотите использовать set? После прочтения описание набора похоже, это бесполезно, потому что мы можем заменить его на vector. Не могли бы вы сказать плюсы и cos для vector vs s ...

Контейнеры C++ STL: в чем разница между deque и list?

в чем разница между ними? Я имею в виду, что все методы одинаковы. Таким образом, для пользователя они работают одинаково. Это правильно?? ...

Как использовать приоритетную очередь STL для объектов?

class Person { public: int age; }; Я хочу, чтобы хранить объекты класса Person в приоритетной очереди. priority_queue< Person, vector<Person>, ??? > Я думаю, что мне нужно определить класс для сравнения вещи, но я не уверен в это ...

Почему мы не можем объявить std:: vector?

Потратив довольно много времени на разработку в C#, я заметил, что если вы объявляете абстрактный класс с целью использования его в качестве интерфейса, вы не можете создать вектор этого абстрактного класса для хранения экземпляров дочерних классов. ...

Какие требования должны соответствовать классам ключей std::map, чтобы быть действительными ключами?

Я хочу сопоставить объекты данного класса с объектами другого. Класс, который я хочу использовать в качестве ключа, однако, не был написан мной и является простым struct с несколькими значениями. std:: map orders это содержимое, и мне было интересно, ...

Начальная емкость вектора в C++

что такое capacity() на std::vector который создается с помощью конструктора по умолчанию? Я знаю, что size() - это ноль. Можно ли утверждать, что построенный по умолчанию вектор не вызывает выделение памяти кучи? таким образом, можно было бы создат ...

C++ преобразование вектора в вектор

Что такое хороший чистый способ преобразования std::vector<int> intVec до std::vector<double> doubleVec. Или, в более общем плане, преобразовать два вектора конвертируемых типов? ...

Что такое std::atomic?

Я понимаю, что std::atomic<> является атомарным объектом. Но атомный до какой степени? В моем понимании операция может быть атомной. Что именно подразумевается под атомизацией объекта? Например, если есть два потока одновременно выполнив следую ...

Как выбрать между картой и неупорядоченной картой?

предположим, я хотел бы сопоставить данные со строкой в качестве ключа. Какой контейнер я должен был выбрать,map или unordered_map? unordered_map занимает больше памяти, поэтому предположим, что память не является проблемой, и проблемой является скор ...

Почему std::stack использует std:: deque по умолчанию?

поскольку для использования контейнера в стеке требуются только следующие операции: обратно() push_back () pop_back () Почему-контейнер по умолчанию для него в начале очереди, а не вектор? разве перераспределения deque не дают буфер элементов пе ...

Является ли цикл " for " на основе диапазона устаревшим для многих простых алгоритмов?

алгоритм решения: std::generate(numbers.begin(), numbers.end(), rand); Range-based for-loop solution: for (int& x : numbers) x = rand(); почему я хочу использовать более подробный std::generate на основе диапазона для циклов в C++11? ...

Где я могу получить "полезный" алгоритм двоичного поиска C++?

мне нужен алгоритм двоичного поиска, совместимый с контейнерами C++ STL, что-то вроде std::binary_search в стандартной библиотеке <algorithm> заголовок, но мне нужно, чтобы он возвращал итератор, который указывает на результат, а не простое лог ...