|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||||||||||||
Покритикуйте код02.10.2011, 23:28. Показов 10448. Ответов 116
Метки нет (Все метки)
Есть класс Студенты (реализован через односвязный список), хотел бы услышать критику по поводу его улучшения, если кому не лень разбираться в столь поздний час
Сам код естественно полностью рабочий и предупреждений тоже компилятор не выдаёт (если не считать в main в условии while, но там всё ок) так что хотелось бы услышать Ваши замечания если что можно сделать лучше.Students.h
0
|
||||||||||||||||
| 02.10.2011, 23:28 | |
|
Ответы с готовыми решениями:
116
Покритикуйте код Графы. Покритикуйте код Пожалуйста, покритикуйте код |
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 11.10.2011, 23:53 [ТС] | |
|
Кстати, как Вы заметили у меня задание с односвязным списком, а ведь есть и на другие структуры у этого препода: лучше всего это на двумерный динамический массив где он хочет чтобы использовали realoc (и конструкторы же конечно не вызываются для новых элементов так как си-стиль), в общем у меня ещё задание ничего так.
0
|
|
|
|
|
| 11.10.2011, 23:54 | |
|
Правда, я не уверен на счёт компилябильности подобных извращений.
Добавлено через 1 минуту А вот использовать сишное выделение памяти для C++-объектов, это свинство, маразм и преступление против человечности.
0
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||
| 11.10.2011, 23:58 [ТС] | ||
|
Кстати там дальше интерфейсы идут так вот преподаватель советует читать Петзольда - программирование под win95, говорит что мол функции winapi с того времени не менялись, собственно он прав или нет? Ато у меня по программе до конца декабря MFC + winapi получается изучение (может и не глубокое, пока не знаю), так вот стоит начинать с той книги Петзольда или что поновее найти, а потом, в случае если заводится лаба на VS 6.0 не будет, притащить ноутбук и с него в 2010 сдавать, как считаете? Ато как-то не хочется закончить универ имея знания которые устарели на десяток лет, хотя вот в случае с asm'ом старые книги вполне подходили, а вот какая ситуация здесь?
0
|
||
| 12.10.2011, 00:35 | |
|
Не по теме:
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 12.10.2011, 01:24 | ||||||
|
Gepar, Дико подозреваю что препод желает чтобы класс итератора был отдельно, а в самом классе Students(List) был typedef на этот итератор.
Итого получится.
Так же замечу, что в реализации STL от gcc в том же списке _List_iterator<T>, _List_const_iterator не является nested типом, для мапы, для вектора олсо.
2
|
||||||
|
|
||||||||
| 12.10.2011, 01:45 | ||||||||
|
Да, и правда. В gcc так, как говорит ForEveR:
Добавлено через 3 минуты
1
|
||||||||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|||
| 12.10.2011, 09:35 [ТС] | |||
|
ForEveR, после ваших слов вроде понял как нужно сделать, я только ещё каюсь в прошлый раз не смог вытащить сам класс итератор из определения чтобы потом функция begin() и end() возвращающая итератор понимала где он и что он собой представляет, ну да сейчас уже класс значительно изменился и итератор не столь привязан к тонкостям класса и всё должно получиться имея нормальный вид.
0
|
|||
|
|
||||
| 12.10.2011, 09:42 | ||||
![]()
1
|
||||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|||
| 12.10.2011, 10:18 [ТС] | |||
|
0
|
|||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|||||||||||||||||||||||||||||||
| 15.10.2011, 18:10 [ТС] | |||||||||||||||||||||||||||||||
|
Очередная реинкарнация списка студентов
Собственно в сей раз добавил set/get методов классу CStudent, вытащил итератор из списка, переименовал список в List, разбил CStudent на два файла (с одним .h не получалось - получал ошибку при линковке), добавил кое-где const, убрал свой класс-исключения (теперь в одном случае выбрасывается число - так захотел препод) и сделал итератор шаблонным и принимающим два параметра(если создавать через List то за счёт typedef параметры указывать не надо) ну и получилось что получилось. Собственно всё работает, но просьба просмотреть если у кого есть желание, и указать на места где можно что поправить.Элементы списка CStudent.h
CStudent.cpp
Сам список List.h
List.cpp
Итератор для списка ListIterator.h
Ну и собственно main main.cpp
0
|
|||||||||||||||||||||||||||||||
|
|
||
| 16.10.2011, 00:09 | ||
|
class List у вас больше не шаблонный? Зря, очень зря.
0
|
||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||||||||||||
| 16.10.2011, 14:05 [ТС] | ||||||||||||||
|
Добавлено через 3 минуты
Добавлено через 2 минуты Ошибки кстати если и есть то вероятнее всего они могут быть в списке так как там все эти обращения через указатели, а так остальные классы типа итератора и элемента списка довольно простенькие.
0
|
||||||||||||||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 16.10.2011, 16:01 [ТС] | |
|
Jupiter, а, тьфу, тогда лучше было писать мне if(!Head)
Странно что компилятор не выдал предупреждение, он ведь обычно меня предупреждал если в if идёт присваивание, а в этот раз не предупредил.Добавлено через 3 минуты talis, ну да, так тоже можно, но это ведь уже после создания такой функции можно, изначально делал как он попросил - без итератора просто поиск информационной части.
0
|
|
| 16.10.2011, 16:01 | |
|
Покритикуйте код финкции нахождения интеграла Покритикуйте и помогите улучшить код моей игры Покритикуйте пожалуйста программу
Шифратор пароля. Покритикуйте пожалуйста. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|