![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| tatan |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 31.10.2007 Репутация: нет Всего: 1 |
Добрый день.
Я новичок в C++, работал с Delphi, на C не писал. Читаю Либерти - Освой самостоятельно С++ за 21 день. Решил попробовать для тренировки написать простой класс для работы с dbf. Буду очень благодарен за замечания к моему коду: ошибки, неверные подходы, скрытые угрозы, реализация чере ж..., таких косяков думаю здесь много. Вообще, C++ понравился очень, возможности впечатляют, но иногда некоторые простые вещи не понятно как делать, например работа с char. Делалось все в Dev-C++ 4.9.9.2. Исходники присоединены. Заранее спасибо за любые комментарии. Присоединённый файл ( Кол-во скачиваний: 20 )
dbf.rar 4,33 Kb |
|||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
а может просто небольшой кусок кода или функцию выкинешь, что тебя смущает?
тока не огромное полотно, а кусок. мне, к примеру, лень качать, запускать Dev-C++ 4.9.9.2.... |
|||
|
||||
| tatan |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 31.10.2007 Репутация: нет Всего: 1 |
Поскольку мало что понимаю что хорошо-плохо хочется комментарий по всему коду, там немного, строк 200
компилиться и в TC++ |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 2 Всего: 58 |
Не разраривается
Это сообщение отредактировал(а) GrayCardinal - 6.11.2007, 16:44 |
|||
|
||||
| tatan |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 31.10.2007 Репутация: нет Всего: 1 |
||||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 2 Всего: 58 |
tatan,
Так, на вскидку : 1. if не надо закрывать точкой с запятой. 2. Определение класса должно быть в хэйдере.
Лучше сделать "inline" (в каждую строчку, в начало). И тоже последние ";" не нужны. 3. for тоже не надо ";" в конце. 4. Рекомендую { ставить в той же строчке, что и оператор. 5. Все переменные должны быть в начале функции. Вроде всё |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
unrar есть С-стиль, весьма спорно. |
|||
|
||||
| GrayCardinal |
|
||||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 2 Всего: 58 |
Изварт чистейшей воды. Проще так (на коленке):
Добавлено через 48 секунд JackYF, Ничего спорного. Спросили как надо, я ответил Добавлено через 1 минуту и 15 секунд JackYF, Унрар есть, я в курсе. |
||||
|
|||||
| tatan |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 31.10.2007 Репутация: нет Всего: 1 |
to GrayCardinal
Все принято, большое спасибо Ну кроме про "{", но это кажется к области религиозных войн с sprintf - о как, не придумал бы сам-то, согласен у меня изврат, я долго думал как записать строку формата |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 2 Всего: 58 |
Далее. Указатели, перед тем как их удалять лучше проверять на NULL. И соответственно, после удаления присваивать NULL - для гарантии что не удалишь два раза один и тот же указатель.
Добавлено через 1 минуту и 3 секунды tatan, Завсегда пожалуйста |
|||
|
||||
| tatan |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 31.10.2007 Репутация: нет Всего: 1 |
Указатели кстати проверял
Но в предыдущей теме ктото сказал что проверка указателей на валидность почти ошибка в проектировании, все и убрал оставив на потом |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 2 Всего: 58 |
tatan,
Не читал тот флуд, но на нуль всегда проверяю. Так жить проще |
|||
|
||||
| tatan |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 31.10.2007 Репутация: нет Всего: 1 |
Добавил в список рекомендаций - после удаления указателям присваивать NULL. "Так жить проще" (с)
|
|||
|
||||
| archimed7592 |
|
||||||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
А кто сказал, что так надо? А я рекомендую так не делать Ещё проще
Добавлено через 48 секунд
Нужно:
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
||||||
|
|||||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 2 Всего: 58 |
archimed7592,
А передёргивать не надо |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |