Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2010, 23:04   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
не надо его удалять из памяти, пометьте его как "некорректный".
Ога... И вот так рождаются легенды о кривом С++, и о мусоре который он за собой не убирает... Хотя явно виноват не язык.
(Извиняюсь за флуд)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.12.2010, 02:24   #12
_Ч_
Форумчанин
 
Регистрация: 07.01.2010
Сообщений: 141
По умолчанию

концептуально, дробь либо есть, либо ее нет. не бывает дробей с невалидным состоянием. вот это и надо обеспечить. в добавок к этому, вы патаетесь на класс, представляющий дроби еще навеить функциональность парсинга строк, что тоже неверно. один класс - одна задача. самое правильное: сделать конструктор Fraction(int, unsigned). И предоставить для класса набор утилитных ф-ий, которые бы парсили строки или обрабатывали другие обьекты, вытаскивая из них делитель и делимое. Вот эти ф-ии и сделать как вам удобно. хотите чтобы они кидали исключение - пожалуйста, хотите чтобы они возвращали бул в качестве результата парсинга - тоже пожалуйста. В общем, вариантов, из чего и как построить класс дроби масса и вы все не учтете в своей реализации. Поэтому самое правильное : определить класс дроби и его поведение в одном месте, а правила построения из других обьектов (из строк в частности) - в другом. тогда все будут довольны.
_Ч_ вне форума Ответить с цитированием
Старый 05.12.2010, 12:49   #13
Ru_DoLF
Ubuntu 10.04
Пользователь
 
Аватар для Ru_DoLF
 
Регистрация: 15.07.2010
Сообщений: 51
По умолчанию

Цитата:
Цитата:
Ога... И вот так рождаются легенды о кривом С++, и о мусоре который он за собой не убирает... Хотя явно виноват не язык.
(Извиняюсь за флуд)
Мусор это объекты на которые потеряны ссылки. "Некорректные" объекты не являются мусором.
Язык образует среду мышления и формирует представление о том, о чем мы думаем (Б. Л. Уорф)
Ru_DoLF вне форума Ответить с цитированием
Старый 05.12.2010, 13:40   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
"Некорректные" объекты не являются мусором.
Ну как сказать...
Не хочу раздувать войнушку, но мне доводилось видеть как работает проект, захватывающий около гигабайта памяти для экземпляров класса, но при этом 90% отрабатывали только 10 штук из них, другие отсеивались по условию, но не освобождались. Честно говоря автора заставили программу переписать, чем закончилось не знаю.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.12.2010, 13:56   #15
Ru_DoLF
Ubuntu 10.04
Пользователь
 
Аватар для Ru_DoLF
 
Регистрация: 15.07.2010
Сообщений: 51
По умолчанию

Цитата:
захватывающий около гигабайта памяти
Спутник контролировали?)))))

Ну, в такой ситуации действительно можно считать объекты некорректные с точки зрении логики программы мусором. По поводу переписывания программы. Задание с учебы наверное, так что мы не сильно навредили.
Язык образует среду мышления и формирует представление о том, о чем мы думаем (Б. Л. Уорф)
Ru_DoLF вне форума Ответить с цитированием
Старый 05.12.2010, 14:15   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
так что мы не сильно навредили.
Пожалуй на этот вопрос может ответить только сам автор
Цитата:
Спутник контролировали?)))))
Нет. Всего лишь история команд контроллера. Казалось бы банальщина, но оказалась проблемой в кривых руках.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматическое преобразование на основе первого аргумента конструктора в вызов самого конструктора jennya Visual C++ 8 03.10.2010 19:03
Как прервать выполнение операции? iskurt Помощь студентам 9 29.03.2010 18:46
Прервать выполнение функции? Как? TwiX Общие вопросы Delphi 9 28.09.2009 16:36
Как прервать внешний цикл? AndreyF Общие вопросы Delphi 15 15.06.2009 17:46
delphi 7, как прервать выполнение программы Altera Софт 3 27.07.2008 15:14