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

115
Как перегрузить std :: swap ()

std::swap() используется многими стандартными контейнерами (такими как std::list и std::vector) во время сортировки и даже назначения. Но стандартная реализация swap() очень обобщена и довольно неэффективна для пользовательских типов. Таким образом, эффективность может быть повышена за счет...

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

Я выделил четыре разных способа вставки элементов в std::map: std::map<int, int> function; function[0] = 42; function.insert(std::map<int, int>::value_type(0, 42)); function.insert(std::pair<int, int>(0, 42)); function.insert(std::make_pair(0, 42)); Какой из них предпочтительный /...

111
JSP: тег <c: out> JSTL

Что именно делает при написании страницы JSP <c:out>? Я заметил, что оба следующих результата дают одинаковый результат: <p>The person's name is <c:out value="${person.name}" /></p> <p>The person's name is...

110
Использование настраиваемого компаратора std :: set

На этот вопрос есть ответы на Stack Overflow на русском : Компаратор для набора Я пытаюсь изменить порядок элементов по умолчанию в наборе целых чисел, чтобы он был лексикографическим, а не числовым, и я не могу получить следующее для компиляции с g ++: file.cpp: bool lex_compare(const int64_t...

108
Почему можно возвращать «вектор» из функции?

Пожалуйста, обратите внимание на этот код. Я видел этот тип кода несколько раз. words- локальный вектор. Как можно вернуть его из функции? Можем ли мы гарантировать, что он не умрет? std::vector<std::string> read_file(const std::string& path) { std::ifstream file("E:\\names.txt"); if...

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

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

107
Как получить значение индекса из цикла foreach в jstl

У меня есть значение, установленное в requestобъекте, подобное следующему: String[] categoriesList=null; categoriesList = engine.getCategoryNamesArray(); request.setAttribute("categoriesList", categoriesList ); и вот как я повторяю на странице jsp <% if(request.getAttribute("categoriesList") !=...

106
Как безопасно передавать объекты, особенно объекты STL, в и из библиотеки DLL?

Как передать объекты класса, особенно объекты STL, в C ++ DLL и обратно? Мое приложение должно взаимодействовать со сторонними плагинами в виде файлов DLL, и я не могу контролировать, на каком компиляторе созданы эти плагины. Я знаю, что не существует гарантированного ABI для объектов STL, и меня...

104
Доступ к значению Enum с помощью EL с JSTL

У меня есть Enum под названием Status, определенный как таковой: public enum Status { VALID("valid"), OLD("old"); private final String val; Status(String val) { this.val = val; } public String getStatus() { return val; } } Я хотел бы получить доступ к значению VALIDиз тега JSTL. В частности,...

103
Почему std :: set не имеет функции-члена «содержит»?

Я активно использую, std::set<int>и часто мне просто нужно проверить, содержит ли такой набор число или нет. Я считаю естественным написать: if (myset.contains(number)) ... Но из-за отсутствия containsчлена мне нужно написать громоздкое: if (myset.find(number) != myset.end()) .. или не такое...

103
Почему vector <bool> не является контейнером STL?

В пункте 18 книги Скотта Мейерса « Эффективный STL: 50 конкретных способов улучшить использование стандартной библиотеки шаблонов» говорится, что следует избегать, vector <bool>поскольку это не контейнер STL и на самом деле не содержит bools. Следующий код: vector <bool> v; bool *pb...

102
строка c_str () vs. data ()

Я читал несколько мест, где разница между c_str()и data()(в STL и других реализациях) заключается в том, что c_str()всегда завершается нулем, а data()нет. Насколько я видел в реальных реализациях, они либо делают то же самое, либо data()вызывают c_str(). Что мне здесь не хватает? Какой из них...

102
Удаление элементов из вектора

Я хочу удалить элемент из вектора с помощью метода стирания. Но проблема здесь в том, что элемент не обязательно встречается в векторе только один раз. Он может присутствовать несколько раз, и мне нужно удалить их все. Мой код выглядит примерно так: void erase(std::vector<int>&...

101
Доступ к элементу карты const в C ++

Я попытался использовать оператор [] для доступа к элементу на карте const C ++, но этот метод не удался. Я также пытался использовать "at ()", чтобы сделать то же самое. На этот раз это сработало. Однако я не смог найти никаких ссылок на использование "at ()" для доступа к элементу в константной...