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

Стандартная библиотека шаблонов, или STL, представляет собой C ++ библиотеку универсальных контейнеров, итераторов, алгоритмов и функциональных объектов. Когда C ++ был стандартизирован, большие части STL были приняты в Стандартную библиотеку, и эти части в Стандартной библиотеке также иногда ошибочно именуются как «STL».

763
push_back против emplace_back

Я немного сбит с толку относительно разницы между push_backи emplace_back. void emplace_back(Type&& _Val); void push_back(const Type& _Val); void push_back(Type&& _Val); Поскольку существует push_backперегрузка, принимающая ссылку на rvalue, я не совсем понимаю, для чего это...

612
Как проще всего инициализировать std :: vector жестко закодированными элементами?

Я могу создать массив и инициализировать его так: int a[] = {10, 20, 30}; Как мне создать std::vectorи инициализировать его так же элегантно? Лучший способ, который я знаю, это: std::vector<int> ints; ints.push_back(10); ints.push_back(20); ints.push_back(30); Есть ли способ...

470
Итерация по std :: vector: unsigned vs знаковая переменная со знаком

Как правильно перебирать вектор в C ++? Рассмотрим эти два фрагмента кода, этот работает нормально: for (unsigned i=0; i < polygon.size(); i++) { sum += polygon[i]; } и этот: for (int i=0; i < polygon.size(); i++) { sum += polygon[i]; } который генерирует warning: comparison between signed...

446
В чем разница между «STL» и «C ++ Standard Library»?

Кто-то обратил мое внимание на эту статью , утверждая, что (я перефразирую) термин STL неправильно используется для ссылки на всю Стандартную библиотеку C ++ вместо частей, взятых из SGI STL. (...) это относится к «STL», несмотря на то, что очень немногие люди все еще используют STL (который был...

389
Оценить пустые или нулевые теги JSTL c

Как я могу проверить, является ли значение Stringnull или пустым, используя cтеги JSTL? У меня есть переменная имени, var1и я могу отобразить ее, но я хочу добавить компаратор для проверки. <c:out value="${var1}" /> Я хочу проверить, когда он нулевой или пустой (мои значения являются...

373
Почему C ++ STL не предоставляет никаких «древовидных» контейнеров?

Почему C ++ STL не предоставляет никаких «древовидных» контейнеров, и что лучше использовать вместо этого? Я хочу хранить иерархию объектов в виде дерева, а не использовать дерево для повышения производительности...

351
Почему я не могу сделать вектор ссылок?

Когда я делаю это: std::vector<int> hello; Все отлично работает. Однако, когда я делаю это вектор ссылок вместо этого: std::vector<int &> hello; Я получаю ужасные ошибки, такие как ошибка C2528: указатель: указатель на ссылку недопустим Я хочу поместить несколько ссылок на структуры...

310
Сортировка вектора по убыванию

Должен ли я использовать std::sort(numbers.begin(), numbers.end(), std::greater<int>()); или std::sort(numbers.rbegin(), numbers.rend()); // note: reverse iterators отсортировать вектор в порядке убывания? Есть ли какие-либо преимущества или недостатки с одним подходом или...

295
Лучший способ извлечь субвектор из вектора?

Предположим, у меня есть std::vector(назовем это myVec) размер N. Какой самый простой способ построить новый вектор, состоящий из копии элементов от X до Y, где 0 <= X <= Y <= N-1? Например, myVec [100000]через myVec [100999]вектор размера 150000. Если это не может быть эффективно сделано...

283
если ... еще в JSP или JSTL

Я хочу вывести некоторый HTML-код, основанный на некоторых условиях, в файле JSP. if (condition 1) { Some HTML code specific for condition 1 } else if (condition 2) { Some HTML code specific for condition 2 } Как я могу это сделать? Должен ли я использовать...

274
Какой самый эффективный способ удалить дубликаты и отсортировать вектор?

Мне нужно взять вектор C ++ с потенциально большим количеством элементов, стереть дубликаты и отсортировать их. В настоящее время у меня есть код ниже, но он не работает. vec.erase( std::unique(vec.begin(), vec.end()), vec.end()); std::sort(vec.begin(), vec.end()); Как я могу правильно сделать это?...

265
функции-члены std :: string length () и size ()

Я читал ответы на этот вопрос и обнаружил, что на самом деле есть метод, называемыйlength() для std::string(я всегда использовал size()). Есть ли какая-то конкретная причина для использования этого метода в std::stringклассе? Я прочитал и MSDN и CppRefernce, и они, кажется, указывают, что нет...

249
Сортировка вектора пользовательских объектов

Как можно сортировать вектор, содержащий пользовательские (то есть определяемые пользователем) объекты? Вероятно, следует использовать стандартный алгоритм STL для сортировки вместе с предикатом (функцией или объектом функции), который будет работать с одним из полей (в качестве ключа для...