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

100
Почему std :: ssize () введен в C ++ 20?

C ++ 20 представил std::ssize()бесплатную функцию, как показано ниже: template <class C> constexpr auto ssize(const C& c) -> std::common_type_t<std::ptrdiff_t, std::make_signed_t<decltype(c.size())>>; Возможная реализация, похоже, использует static_castдля преобразования...

100
Медленная реализация gcc std :: unordered_map? Если да, то почему?

Мы разрабатываем высокопроизводительное критически важное программное обеспечение на C ++. Там нам нужна параллельная хеш-карта и реализованная. Итак, мы написали тест, чтобы выяснить, насколько медленнее наша параллельная хэш-карта по сравнению с std::unordered_map. Но, std::unordered_mapкажется,...

98
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тоже нужен итератор? Я...

98
Современный способ фильтровать контейнер STL?

Возвращаясь к C ++ после многих лет работы с C #, мне было интересно, каким будет современный - читайте: C ++ 11 - способ фильтрации массива, то есть как мы можем достичь чего-то похожего на этот запрос Linq: var filteredElements = elements.Where(elm => elm.filterProperty == true); Чтобы...

95
vector :: at vs. vector :: operator []

Я знаю, что at()это медленнее, чем []из-за проверки границ, которая также обсуждается в подобных вопросах, таких как C ++ Vector at / [] operator speed или :: std :: vector :: at () vs operator [] << удивительные результаты !! В 5-10 раз медленнее / быстрее! . Я просто не понимаю, для чего...

94
как добавить объект list <T> к другому

в C ++ у меня есть два list<T>объекта, Aи Bя хочу добавить все члены Bв конец A. Я искал несколько разных источников и не нашел простого решения (ei A.append(B);), и это меня немного удивляет. Как лучше всего это сделать? Так получилось, что после этого меня не волнует B (он удаляется в...

93
std :: map insert или std :: map find?

Предполагая карту, на которой вы хотите сохранить существующие записи. В 20% случаев вводимая вами запись - это новые данные. Есть ли преимущество в выполнении std :: map :: find, а затем std :: map :: insert с использованием этого возвращенного итератора? Или быстрее попытаться вставить, а затем...

93
Проверка содержимого стандартного контейнера (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...

93
Какой контейнер STL мне следует использовать для FIFO?

Какой контейнер STL лучше всего подходит для моих нужд? По сути, у меня есть контейнер шириной 10 элементов, в котором я постоянно добавляю push_backновые элементы, pop_frontдобавляя самый старый (примерно миллион раз). В настоящее время я использую a std::dequeдля этой задачи, но мне было...

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

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

92
Альтернатива vector <bool>

Как (надеюсь) мы все знаем, vector<bool>он полностью сломан и не может рассматриваться как массив C. Как лучше всего получить эту функциональность? До сих пор я думал о следующих идеях: Используйте vector<char>вместо этого, или Используйте класс-оболочку и vector<bool_wrapper>...

92
Как обновить std :: map после использования метода find?

Как обновить значение ключа std::mapпосле использования findметода? У меня есть объявление карты и итератора, подобное этому: map <char, int> m1; map <char, int>::iterator m1_it; typedef pair <char, int> count_pair; Я использую карту для хранения количества вхождений символа. Я...

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

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

91
JSTL, если тег для одинаковых строк

У меня есть переменная из объекта на моей странице JSP: <%= ansokanInfo.getPSystem() %> Значение переменной - NAT, что является правильным, и я хочу применить определенные элементы страницы для этого значения. Как использовать тег, чтобы узнать случай? Я пробовал что-то вроде <c:if test =...