Описание тега forward-list

Forward_list (односвязный список) - это контейнер STL C++, который в основном представляет собой список, оптимизированный для пустых и очень коротких списков.
2 ответа

Splice_after реализация forward_list

В forward_list есть функция splice_after ( для справки), в частности, функция № 3 в данной ссылке. Как можно было бы реализовать это, учитывая list однократно связан. В качестве упражнения, когда я его реализовал, мне приходилось перебирать список д…
08 янв '12 в 02:43
2 ответа

Адрес памяти вместо значения в cout класса

Я пытаюсь написать собственную простую реализацию списка форвардов. Я хотел бы получить доступ к элементу по cout << list[0]. Я написал следующий код, но вместо значения я получил что-то вроде x637c00539997. Что я сделал не так? Что еще я могу улучш…
07 дек '16 в 10:12
2 ответа

Разница между списком и показателями forward_list?

Как и в случае с ++11, у нас есть два типа списка: std::list&lt;int&gt; lst = { 1, 2, 3, 4, 5 }; std::forward_list&lt;int&gt; flst = { 5, 4, 3, 2, 1}; Поскольку мы знаем, что список основан на двусвязном списке, а forward_list основан на односвязном…
25 авг '18 в 09:39
2 ответа

Почему std::forward_list не получил функцию-член count()?

Я понимаю почему std::forward_list не имеет size() функция-член , так как O(1) версия будет испортить сложность определенных splice() перегрузки, а так как O(N) версия будет несовместима со всеми остальными контейнерами стандартной библиотеки. Также…
29 апр '13 в 13:31
1 ответ

Можно ли вставить forward_list в unordered_map?

Я не заинтересован в том, чтобы заново изобретать колесо. Мне нравится держать код очень компактным, а контейнеры - это то, что мне нравится использовать, чтобы мне не приходилось реализовывать все построчно. Так можно ли использовать эти два контей…
16 сен '17 в 09:45
1 ответ

Утечка памяти из списка пересылки с использованием динамической памяти

Я создаю задание для своего класса и не могу выполнить самое последнее требование, которое заключается в том, что оно не может утечь память. Существует 3 основных класса Animation.cpp, Frame.cpp и Display.cpp. Анимация содержит forward_list объектов…
28 дек '17 в 17:07
3 ответа

Почему итератор пересылки не имеет оператора присваивания?

Я знаю std::forward_list&lt;T&gt;::iterator не имеет составного оператора присваивания (operator+=). Но почему это? Я спрашиваю об этом по трем причинам: не будет ли этот оператор продвигать итератор вперед operator++()? Есть ли вспомогательная функ…
02 июн '16 в 17:43
5 ответов

std::forward_list и std::forward_list::push_back

Я хотел бы использовать std::forward_list Так как: Forward list - это контейнер, который поддерживает быструю вставку и удаление элементов из любой точки контейнера. Но нет *std::forward_list::push_back* реализации. Есть ли высокопроизводительный сп…
05 янв '12 в 12:25
2 ответа

std::forward_list.push_front(std::thread) не компилируется

Этот код не компилируется: Объявление класса: class threadController { private: static std::forward_list&lt;std::thread&gt; threadList; static std::mutex mutexThreadList; public: static void startAndAddThreadToList(int argc, char * argv []); }; Опре…
26 сен '14 в 21:50
2 ответа

Когда использовать C++ forward_list

Я немного новичок в C++ и читаю книгу "Язык программирования C++ (4-е издание)". Когда вы читаете главу "Контейнеры STL", в книге есть введение в forward_list: Forward_list (односвязный список) - это список, оптимизированный для пустых и очень корот…
24 авг '14 в 14:04
3 ответа

Удаление прямого связанного списка

Есть два известных способа (только два?), Чтобы удалить прямой связанный список Одним из способов является рекурсивная функция, которая неэффективна и может привести к переполнению стека, если список слишком большой Другой способ (эффективный) - это…
29 май '16 в 18:26
2 ответа

C++11 итератор forward_list продолжает указывать на удаленное значение

Итератор остается указывать на элемент, который он ранее сделал, и значение, на которое он указывает, не удаляется из памяти. Интересно, как это можно объяснить? Спасибо. forward_list&lt;int&gt; Fwdl {46, 21, 88, 901, 404}; auto it = Fwdl.begin(); F…
10 май '15 в 18:09
1 ответ

Стирает ли элемент после before_begin() определенный в пустом std::forward_list?

Имеет ли этот код определенное поведение в стандартной библиотеке C++? std::forward_list&lt;T&gt; list; list.erase_after(list.before_begin()); Интуиция сказала бы "нет", но я не смог найти точную формулировку стандартов для этого конкретного случая.
19 авг '15 в 12:04
2 ответа

Структурировать пункты списка форвардов исчезают?

Этот кусок кода действует мне на нервы. Некоторое время я отлаживал его, не могу поверить, насколько я ржавый на C++. Я пытаюсь смоделировать график для запуска некоторых простых алгоритмов, но, похоже, это не очень хорошо работает. Каждая вершина с…
04 мар '17 в 14:39
1 ответ

Итератор не может остановиться в конце (C++)

То, что я хочу сделать, это найти kth до последнего элемента одного связанного списка. У меня есть рекурсивное решение ниже: В функции main() я создаю список с номерами от 10 до 1 int main() { int i; forward_list&lt;int&gt; flist; for (i = 1; i &lt;…
25 фев '14 в 18:52
2 ответа

Почему использование forward_list с char намного лучше, чем использование long с long?

Я использовал приведенный ниже код для сравнения std::list с std::forward_list #include &lt;iostream&gt; #include &lt;list&gt; #include &lt;forward_list&gt; #include &lt;windows.h&gt; int main() { LARGE_INTEGER start_; LARGE_INTEGER end_; LARGE_INTE…
14 фев '14 в 18:24
1 ответ

Безопасно ли удалять forward_list в C++?

У меня есть личный проект, над которым я работаю, и в этом личном проекте я использовал один раз forward_list хранить некоторую информацию о некоторых файлах. Потом я пошел играть в игру и вдруг подумал: это мой f_list разрушенный сейф? В моем проек…
28 авг '15 в 20:01
2 ответа

Увеличить сериализацию пустого std::forward_list

Я использую Boost 1.59.0 для сериализации объектов (назовем их Foo) в std::forward_list&lt;Foo&gt;, Тем не менее, я не могу сделать это в тех случаях, когда std::forward_list&lt;Foo&gt; пустой. Чтобы продемонстрировать свою проблему, я расширил " Оч…
1 ответ

std::forward_list - стирание с сохраненным итератором

Я пытаюсь сохранить глобальный список экземпляров определенного (базового) класса, чтобы я мог отследить их, просматривая этот глобальный список в любое время. Я считаю, что наиболее правильный способ решения этой проблемы - навязчивый список. Я слы…
2 ответа

Перенос элементов из одного forward_list в другой в зависимости от условия

У меня есть два forward_lists: list1 а также list2, Я хотел бы перебрать первый и перенести элементы во второй на основе условия. Вот пример использования forward_list&lt;int&gt; это не работает, но я думаю, выражает то, что я хочу. #include &lt;ios…
27 фев '15 в 00:23