Вопросы с тегом «stl»

15
Способ времени компиляции для определения наименее дорогого типа аргумента

У меня есть шаблон, который выглядит так template <typename T> class Foo { public: Foo(const T& t) : _t(t) {} private: const T _t; }; Есть ли хитрый способ метапрограммирования шаблонов, чтобы избежать использования константной ссылки в тех случаях, когда тип аргумента тривиален, как bool...

14
Как вектор как ключ работает внутри C ++?

Этот SO-ответ говорит, что STL Map с вектором для ключа вектора может использоваться в качестве ключа. Поэтому, когда мы используем вектор в качестве ключа. Как это на самом деле работает, так как ключ должен быть уникальным, поэтому, когда мы вставляем другой вектор с такими же элементами,...

11
Могу ли я использовать std :: transform вместо политики параллельного выполнения?

Если я не ошибаюсь, я могу заставить std::transformработать на месте , используя тот же диапазон, что и итератор ввода и вывода. Предположим, у меня есть какой-то std::vectorобъект vec, тогда я бы написал std::transform(vec.cbegin(),vec.cend(),vec.begin(),unary_op) используя подходящую унарную...

11
Является ли `string.assign (string.data (), 5)` хорошо определенным или UB?

Коллега хотел написать это: std::string_view strip_whitespace(std::string_view sv); std::string line = "hello "; line = strip_whitespace(line); Я сказал, что возвращение string_viewсделало меня априори непростым , и, кроме того, псевдоним здесь выглядел как UB для меня. Я могу с уверенностью...

10
Утечка памяти во время исключения unordered_map :: insert KeyEqual с GCC - нарушение строгой гарантии безопасности исключения?

Я использую GCC 7.3.1, но также протестирован на coliru, который я считаю версией 9.2.0. Сборка со следующим: g++ -fsanitize=address -fno-omit-frame-pointer rai.cpp Вот rai.cpp: #include <iostream> #include <unordered_map> int main() { try { struct MyComp { bool operator()(const...