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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2014, 08:56   #1
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию Чужой код, непонятные решения в нем. С.

Разбираю чужой код, и по ходу появилась пара вопросов.
Имеется код:
Код:
static void create_string(StringValue& string, int src_len) {
...
(string).lenght = (src_len);
...
}
для чего string и src_len обернуты в одинарные круглые скобки?

Второе: повторное добавление через include файлов, которые уже есть в иерархии. Например 3 файла:
1.h:
Код:
some_functions
2.h:
Код:
#include 1.h
...
3.h:
Код:
#include 2.h
#include 1.h
...
Зачем в 3.h снова включать 1.h, если он и так автоматически перейдет из 2.h?
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)

Последний раз редактировалось Vanta11a; 06.03.2014 в 09:09.
Vanta11a вне форума Ответить с цитированием
Старый 06.03.2014, 09:17   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Может автор кода не знал что так можно не делать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.03.2014, 09:18   #3
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Возможно, да. С учетом того, что вместо стандартного расширения функционала модуля при помощи разделяемой библиотеке нагорожено непойми что. Но пока что предпочитаю думать, что это я чего-то не понимаю.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 06.03.2014, 10:00   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Разбираю чужой код, и по ходу появилась пара вопросов.
На мой взгляд, код был написан прямо в статье, откуда вы его взяли, без отладки. Об этом говорит вот этот оператор: (string).lenght = (src_len);
Правильным будет: string.length = src_len;
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 06.03.2014, 10:25   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Со скобками тоже правильно, просто они не нужны, точно так же как можно писать
int a = 2 + 2;
и
int a = (2 + (2));

Насчет включения файлов - откуда вы знаете, что 2 будет инклудить 1? Или что будет, если в дальнейшем нам не потребуется 2.h?
Если нам нужна какая-то дефиниция, лучше проинклудить нужный файл явно, чем рассчитывать, что это сделает кто-то другой.

Последний раз редактировалось waleri; 06.03.2014 в 10:27.
waleri вне форума Ответить с цитированием
Старый 06.03.2014, 10:48   #6
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Цитата:
На мой взгляд, код был написан прямо в статье,
Ага, я переписал интересующий кусок руками. Очепятался соответственно.
Цитата:
просто они не нужны
Значит неизвестного мне функционала они не несут. Спасибо.
Цитата:
Насчет включения файлов - откуда вы знаете, что 2 будет инклудить 1?
Подразумевается структурой.
basicTypes.h -> myTypes.h -> tableHandler.h -> tableHandlerGen.h
При этом basicTypes.h инклудят все последующие без исключения.
Цитата:
Если нам нужна какая-то дефиниция, лучше проинклудить нужный файл явно, чем рассчитывать, что это сделает кто-то другой.
Хорошая версия, спасибо.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хочу ваш совет. разбирать чужой код (БД на Delphi) xxbesoxx Свободное общение 13 03.04.2013 12:13
Нужно написать код решения задачи Василий_1 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 22.03.2013 12:00
Как грамотно читать чужой код? tiger() Общие вопросы по программированию, компьютерный форум 2 28.12.2012 15:17
Бывает такое, что хороший программист не умеет читать чужой код? alex455 Свободное общение 19 14.07.2011 10:49
Напишите исходный код решения на Pascal CTR Помощь студентам 0 07.11.2010 17:43