|
1 / 1 / 0
Регистрация: 12.12.2010
Сообщений: 112
|
||||||
Использование собственного класса строк15.01.2012, 23:22. Показов 6583. Ответов 67
Метки нет (Все метки)
Здравствуйте, уважаемые господа.
Есть реализация собственного класса строк:
Что бы вы предложили добавить сюда и каким образом? Заранее благодарю за возможные ответы.
0
|
||||||
| 15.01.2012, 23:22 | |
|
Ответы с готовыми решениями:
67
Запись в собственного класса бинарный файл собственного
Использование собственного функтора со связывателями |
|
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
|
|
| 19.01.2012, 23:32 | |
|
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||||||
| 19.01.2012, 23:33 | ||||||
|
retmas, или даже так?
0
|
||||||
|
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
|
|
| 19.01.2012, 23:34 | |
|
да) копипаст всему виной)
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 19.01.2012, 23:35 | |
|
retmas, а я вообще сначала только на return str; глянул))
0
|
|
|
1 / 1 / 0
Регистрация: 12.12.2010
Сообщений: 112
|
||||||
| 19.01.2012, 23:51 [ТС] | ||||||
0
|
||||||
|
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
|
||||||
| 19.01.2012, 23:55 | ||||||
|
френды... читайте опять прошлые посты
и зачем у вас в классе
0
|
||||||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 19.01.2012, 23:55 | |
|
YourLastSong, зачем операторы отношения сделаны дружественными? Мы же мусолим этот вопрос уже несколько страниц!
Сами операторы отношения реализованы неверно, гуглим "лексикографический порядок". Та же проблема с getline.
0
|
|
|
1 / 1 / 0
Регистрация: 12.12.2010
Сообщений: 112
|
||||||
| 20.01.2012, 00:11 [ТС] | ||||||
|
Ну что, попробовал кое-что сделать:
0
|
||||||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 20.01.2012, 00:13 | |
|
YourLastSong, пока вроде всё так, осталось сделать getline менее прожорливым.
0
|
|
|
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
|
|
| 20.01.2012, 00:17 | |
|
и разобраться с операторами и/о (френды)
Добавлено через 1 минуту оператор ввода реализован так, что будет делать не то, что от такого оп-ра следует ждать
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 20.01.2012, 00:18 | |
|
YourLastSong, я бы сказал, с френдовостью операторов ввода/вывода.
Добавлено через 49 секунд retmas, а, ну да... я в них даже не смотрел по сути, пропустил getline в operator>>...
0
|
|
|
1 / 1 / 0
Регистрация: 12.12.2010
Сообщений: 112
|
|||||||
| 20.01.2012, 00:20 [ТС] | |||||||
|
Спасибо.
При наличии выражения
0
|
|||||||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 20.01.2012, 00:22 | |
|
YourLastSong, покажите тестовый код, при котором программа вылетает. Так проще будет отловить, когда delete[] применяется к невалидной памяти.
0
|
|
|
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
|
||||||
| 20.01.2012, 00:26 | ||||||
0
|
||||||
|
1 / 1 / 0
Регистрация: 12.12.2010
Сообщений: 112
|
||||||
| 20.01.2012, 00:26 [ТС] | ||||||
|
Например, вот такой:
0
|
||||||
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
| 20.01.2012, 00:28 | |
|
оператор += сделан криво. будут глюки, исключения, краши.
ф-ия at() сделана криво. не учитывается факт того, что length больше, чем длинна строки на еденицу. в from_с_str крашится, потому что идет удаление по неинициализированному указателю. str указывает хз куда. в конструкторах нужно явно проинициализировать нулем.
0
|
|
|
1 / 1 / 0
Регистрация: 12.12.2010
Сообщений: 112
|
||||||
| 20.01.2012, 00:33 [ТС] | ||||||
0
|
||||||
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
| 20.01.2012, 00:38 | |
|
вы начали писать этот класс в целях самообразования. а вот сейчас пишите почти что под диктовку, не думая. это не есть гуд.
последняя реализация оператора += все равно кривая, даже если корректно работает. зачем два раза выделять память, когда одного раза достаточно. зачем высчытывать еще раз размер строки, когда он известен. ну и у всего класса одна большая проблема с тем, что он небезопасен в плане исключений.
1
|
|
|
1 / 1 / 0
Регистрация: 12.12.2010
Сообщений: 112
|
|||||||||||
| 20.01.2012, 17:07 [ТС] | |||||||||||
|
Решил убрать ключевое слово friend у перегруженных операторов <<, >>.
Для этого вместо явного вызова
0
|
|||||||||||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 20.01.2012, 17:38 | |
|
YourLastSong, вряд ли проблема в этом месте, ведь тело c_str() - return str;, т.е. фактически ничего не изменилось. Скорее всего, проблема в другом месте.
0
|
|
| 20.01.2012, 17:38 | |
|
Создание собственного класса Реализация собственного класса вектора Ввод и вывод строки собственного класса
Увеличение размера массива из элементов собственного класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|
Сукцессия 20. Война автоботов. Делаем ставки. Лёд против "пш-пш!".
anaschu 11.07.2026
Битва ИИ в ризосфере: Как мы скрестили жесткие ОДУ, закон Фика и «подземный шантаж»
Уважаемые коллеги!
Хочу поделиться уникальным опытом ведения междисциплинарной компьютерной разработки. Прямо. . .
|
Сукцессия 19. Какие выводы я сделал из модели? Часть 2.Внутримикоризный стехиометрический буфер и хроно-дискретные зоны экспансии
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
|
Сукцессия 18. Какие выводы я сделал из войны грибов с деревьями? Часть 1- рассказ и немного про термины
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
Система ОДУ описывает динамику изменения массы различных компонентов системы во времени. Ключевой. . .
|
|
Просветление в 5 секунд
kumehtar 10.07.2026
Андрей Веретенников выдал фразу недавно: "Вам не обязательно кем-то себя считать"
|
Эксперимент с картинкой-обложкой на CodinGame
Adler 10.07.2026
Решил на днях провести эксперимент. У меня есть аккаунт на CodinGame, ТОП-3 по РФ среди 2200 участников (в разделе соревнования по программированию ИИ-ботов). Там есть обложка, куда можно влепить. . .
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|