|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.01.2011, 08:06 | #21 | |
C++,DirectX/OpenGL
Форумчанин
Регистрация: 09.01.2011
Сообщений: 422
|
Цитата:
Вообще, да. Нуль-символ правильнее тут говорить. Хотя нуль-символ сам по себе и является нуль-строкой ( пустой строкой, если хотите или строкой разделителем). И вообще попрошу не придираться к словам в 7 утра |
|
20.01.2011, 10:49 | #22 | |
Пользователь
Регистрация: 26.11.2009
Сообщений: 87
|
Цитата:
А за советы спасибо, попробую. Из данной ситуации вышел, как мне кажется, довольно элегантно: Код:
Помог - жми весы
Последний раз редактировалось Stilet; 22.01.2011 в 13:59. |
|
20.01.2011, 14:03 | #23 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Лучше вместо if(qw.mass) использовать if(qw.mass != NULL). Это лишь этическая сторона вопроса. Так читабельней.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
20.01.2011, 14:19 | #24 |
Пользователь
Регистрация: 26.11.2009
Сообщений: 87
|
Вот конечный код программы:
Код:
И момент, который я отчаянно недопонимаю: если вот этот код Код:
Код:
Помог - жми весы
|
20.01.2011, 14:40 | #25 | ||
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Цитата:
На самом деле, лучше вообще using по чужим пространствам имён не использовать. Вернее, в учебных проектах-то можно, для краткости. Но в нормальных проектах так никогда не делают, лучше пиши вызовы целиком. Но хотелось бы отметить, что твой подход лучше, чем using namespace std. Что ещё хотелось бы отметиь... Слишком часто делается new. Как я выше сказал, лучше выделять памяти с запасом. Для этого надо сделать отдельный метод setData(char*), который заботился бы о выделении памяти. То есть скажем изначально ты выделяешь 16 символов. Если при очередной операции не хватает этого запаса, выделяешь 32. И так далее. Тогда и читабельность упростится, опять же. Не говоря уж о скорости работы (теоретической). Теперь насчёт отступов и прочего. Смотрится страшновато. Можешь почитать http://techbase.kde.org/Policies/Kdelibs_Coding_Style Сравни: Код:
Код:
Далее... поля класса лучше именовать как m_название. То есть станет не mass, а m_mass. Это позволяет избежать путаницы и делает код более читабельным. Так... слово насчёт инклюдов. У тебя: Код:
Код:
Далее... operator<<(...), а не operator << (...). То же касается прочих. Так принято. int main и так возвращает 0 в случае завершения, так что избавься от return 0 там. Крах, о котором ты сказал... установи, на какой строке он происходит. upd. Попробовал запустить твой код. Падает. Цитата:
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su Последний раз редактировалось Obey-Kun; 20.01.2011 в 15:03. |
||
20.01.2011, 14:51 | #26 |
Пользователь
Регистрация: 26.11.2009
Сообщений: 87
|
Ох, спасибо за советы, приму к сведению
В main() строка девятая снизу, если Вы про ту строчку кода. Причем аварийная остановка случается сразу же после нажатия интер при вводе первой строки, что, казалось бы, к изменению строки кода отношения не имеет...(как минимум очевидного для меня)
Помог - жми весы
Последний раз редактировалось S1av0k; 20.01.2011 в 14:54. |
20.01.2011, 15:11 | #27 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Ой, вот ещё что!!! Важная штука. Ты когда делаешь delete для указателя, его значение не обнуляется. Приведу пример.
Код:
Что такое NULL и почему его надо использовать для указателей -- http://google-styleguide.googlecode....ULL#0_and_NULL. Вкратце — использование NULL сразу даёт нам понять (визуально), что мы работаем с указателем. То есть повышается читабельность кода, опять же. Прости за сумбурность изложения, эту ночь не спал.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su Последний раз редактировалось Obey-Kun; 20.01.2011 в 15:15. |
20.01.2011, 16:19 | #28 |
Пользователь
Регистрация: 26.11.2009
Сообщений: 87
|
Ну да, я использовал NULL в пустом конструкторе, например. В остальных случаях "занулять" указатели (в приведенном коде) считаю если не излишним, то не необходимым...
Помог - жми весы
|
20.01.2011, 16:30 | #29 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Виноват. В твоём коде это действительно не нужно.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
20.01.2011, 16:34 | #30 | |
Пользователь
Регистрация: 26.11.2009
Сообщений: 87
|
Цитата:
Помог - жми весы
|
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как обойти "преобразование типа из "string" в "float" невозможно" | lexluter1988 | Помощь студентам | 1 | 07.08.2010 12:23 |
классы вида for="..." и class="A B C" | Darkstar100 | HTML и CSS | 5 | 19.01.2010 20:06 |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |