Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
1 / 1 / 1
Регистрация: 29.08.2009
Сообщений: 63

Intrusive list template

30.08.2009, 11:20. Показов 2832. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
intrusive list template

для тренировки хочу попробовать написать шаблон списка, который объединяет и принимает элементы унаследованные или созданые от базового класса

зы задачка учебная, вводные: не использовать шаблонов контрейнеров stl
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.08.2009, 11:20
Ответы с готовыми решениями:

Ошибки: 1) use of class template requires template argument list 2) 'T' : undeclared identifier
Решил подправить свой класс с использованием шаблонов, но столкнулся со следующим косяком. Если я прописываю тело функций внутри описания...

'MyQueue' : use of class template requires template argument list
Написал код про шаблоны. Не могу понять почему выводит ошибку во время наследования класса. ошибки 'MyQueue' : use of class template...

list iterator template
пишу в хэдере #include <list> using namespace std; template <class T> struct Transition { list<T>::iterator it; }; ...

6
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
30.08.2009, 11:25
так ты хочешь? или хочешь чтоб мы написали?)
0
depict1
 Аватар для zim22
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
30.08.2009, 11:35
boost::intrusive::list
0
1 / 1 / 1
Регистрация: 29.08.2009
Сообщений: 63
30.08.2009, 16:19  [ТС]
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
так ты хочешь? или хочешь чтоб мы написали?)
ну можно, чтоб написали или подсказали как это делается

меня в основном интересует, как сделать в компиляторе проверку, что в шаблон подсунут потомок базового класса

Добавлено через 1 час 1 минуту
и еще интересует как по возможности избежать оверхида, если проверку компилятора кинет в рантайм

зы ваще есть возможность проверить перед генерацией шаблона от кого был унаследован его параметр и если что прервать генерацию?
0
1 / 1 / 1
Регистрация: 29.08.2009
Сообщений: 63
30.08.2009, 21:15  [ТС]
похоже я запутался как в реалзиации, так и в терминах ...

в общих чертах, пока безо всяких template, чем отличается intrusive от non-intrusive контейнеры?
0
1 / 1 / 1
Регистрация: 29.08.2009
Сообщений: 63
31.08.2009, 19:26  [ТС]
вроде разобрался

intrusive_list<T> практически тоже самое, что list<T*>

какими тестами и как обычно сравнивают производительность реализаций списков?
0
1 / 1 / 1
Регистрация: 29.08.2009
Сообщений: 63
01.09.2009, 19:13  [ТС]
увяз в коде:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
struct slink {
    slink* next;
    slink(slink* p=0):next(p) {}
};
 
struct lint: public slink {
    int i;
    //bool operator==(const lint& l) { return i==l.i;}
    //bool operator!=(const lint& l) { return i!=l.i;}
};
 
template<class T> class intrusive_list {
    T *head;
    T *last;
    size_t s;
    public:
    class iterator {
        T* p;
        public:
        iterator(T* pp):p(pp) {}
        iterator& operator++(int ) { 
            p=p->next;
            return *this;
        }
        T& operator*() { return *p; }
как обычно конфликт
T* p;
p=p->next

решают?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.09.2009, 19:13
Помогаю со студенческими работами здесь

Template double linked list C++
Пытался реализовать шаблон класса двусвязный список, элементарами которого является класс структура. 1. Как теперь инициализировать класс...

Error: '>>' should be '>>' within a nested template argument list
кто знает че за ошибка, как с ней бороться? 000615.cpp: In function 'int main()':

Шаблоны: ошибки: requires template argument list или undeclared identifier
Есть маленький тестовый проект из 4-файлов. Что мне надо - рассказывать словами замучаюсь, взляните пожалуйста на код по ссылке ниже (он...

Ошибка "List is not a template"
Всем привет. Я только начала изучать библиотеку stl и тут же столкнулась с проблемой, когда контейнер объявлен в хедере какого-нибудь...

Template definition of non-template при использовании частичной спецификации шаблонов
Всем привет! Есть задача написать шаблон класса, принимающего в качестве параметров типа шаблон и некоторый тип. Собственно, вот код: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru