0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 12
|
||||||
1 | ||||||
Как сделать компактный код ?31.03.2014, 15:00. Показов 2265. Ответов 20
Метки нет (Все метки)
Ребят, дайте советы по тому как сделать свой код компактнее, красивее и читабельней.
Вот пример моего стиля программирования :
0
|
31.03.2014, 15:00 | |
Ответы с готовыми решениями:
20
более компактный код Как сделать код абстрактным Как сделать код меньше Как сделать код короче ? |
|
31.03.2014, 15:04
#2
|
Не по теме: В английском plus / minus с одной s - вот уже компактнее ))
0
|
New to C++
83 / 44 / 10
Регистрация: 14.01.2013
Сообщений: 258
|
||||||
31.03.2014, 15:05 | 3 | |||||
0
|
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 12
|
|
31.03.2014, 15:06 [ТС] | 4 |
0
|
Котовчанин
|
||||||
31.03.2014, 15:09 | 5 | |||||
Код хорош, но я б еще так сделала.
0
|
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 12
|
|
31.03.2014, 15:16 [ТС] | 7 |
А что это конкретно даст? почему бы не использовать using namespace std; ?
Объясни
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
31.03.2014, 15:19 | 8 |
Вопрос этот спорный. В больших проектах не рекомендуется из-за возможного конфликта имён. В данном коде, по моему мнению, вполне допустимо.
Добавлено через 1 минуту https://www.cyberforum.ru/blogs/34326/blog275.html fatal error LNK1169: one or more multiply defined symbols found
0
|
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
|
|
31.03.2014, 15:30 | 9 |
не вижу смысла юзать ссылки
Добавлено через 5 минут даже если ссылку передали, тогда конст где? шоб не было соблазна изменить вх.параметр
0
|
18828 / 9831 / 2403
Регистрация: 30.01.2014
Сообщений: 17,267
|
|
31.03.2014, 15:37 | 10 |
Как раз в данном коде это и явилось причиной костыля в виде удвоения буквы s на конце функций plus и minus. А все потому, что в std:: уже есь такие сущности. Налицо конфликт имен!
Добавлено через 2 минуты Нужно всегда разбираться в причинах того, что не получается. Именно так, когда не разобравшись, фиксишь проблему методом тыка, появляются самые устойчивые мифы в головых разработчиков.
0
|
Котовчанин
|
|
31.03.2014, 15:46 | 12 |
Если на пальцах - так вы говорите компилятору, что будете использовать все методы std. А так просто вытягиваете тот метод, который нужен и всё.
Добавлено через 39 секунд А я вижу смысл.
0
|
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
|
|
31.03.2014, 15:48 | 13 |
0
|
Почетный модератор
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
|
||||||
31.03.2014, 15:52 | 14 | |||||
_RoleX_, чисто рекомендации, без претензий:
1) Заменить '\n' на endl; 2) После while перевод строки добавить. Чтобы выделить блок do-while. Да и вообще отступов добавть; 3) Убрать русский язык вообще. Добавлено через 1 минуту
0
|
840 / 498 / 325
Регистрация: 29.12.2009
Сообщений: 1,106
|
||||||
31.03.2014, 15:55 | 15 | |||||
Я бы так сделал.
0
|
Котовчанин
|
|
31.03.2014, 15:57 | 16 |
Я про то, как написанно в моём коде.
Добавлено через 44 секунды Экономия памяти. Вместо создания копий, туда придет именно переменная, которую передали в функцию.
0
|
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
|
|
31.03.2014, 16:15 | 17 |
0
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
31.03.2014, 16:16 | 18 |
вот почитайте http://stackoverflow.com/quest... us-copying
1
|
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
|
|
31.03.2014, 16:19 | 19 |
цитата оттуда "Integers are usually the size of the processor's native word and can pass easily into a registers. From this perspective, there is no difference between passing by value or passing by constant reference. "
0
|
18828 / 9831 / 2403
Регистрация: 30.01.2014
Сообщений: 17,267
|
|||||||||||
31.03.2014, 16:28 | 20 | ||||||||||
Вот именно про такие мифы я и говорил.
Ведь никакой экономии здесь не будет. Возможно будет даже расход! Давай разбираться. sizeof(int) на 32-битной x86 в win равен 4, sizeof(int*) тоже равен 4. Экономии нет. Зато добавляется (возможное) разыменование. Однако на x64 - sizeof(int *) == 8, а sizeof(int) все еще 4. а вот и расход. Но это все теория. А теперь к практике: Рассмотрим такие варианты:
Добавлено через 6 минут Добавлю еще, что я специально написал пример так, что запретить компилятору встраивать функции. Если бы он это сделал, то оба варианты были бы абсолютно одинаковы.
2
|
31.03.2014, 16:28 | |
31.03.2014, 16:28 | |
Помогаю со студенческими работами здесь
20
break или как сделать лучше код Как сделать данный код более логичным и читаемым? Необходим более рациональный и компактный код Во всплывающей подсказке код читается как обычный текст. Как сделать чтобы код считывался ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |