|
7 / 7 / 5
Регистрация: 25.03.2018
Сообщений: 377
|
||||||
Замечания/Улучшения для программы (Сборка сортировок)19.01.2019, 21:22. Показов 1076. Ответов 30
Метки нет (Все метки)
Здравствуйте! имеется данный код:
Также есть несколько замечаний: Я вот хотел в switch впихнуть string-переменную, но нет, поэтому решил if'ами пользоваться, но тут снова проблема, после того, как я напишу string-переменную в консоли, то в IorD почему автоматически впихивается \n, если юзать scanf, а если использовать cin >>, то всё нормально. Почему? Всем спасибо, заранее!
0
|
||||||
| 19.01.2019, 21:22 | |
|
Ответы с готовыми решениями:
30
Конечная точка улучшения программы Сборка программы для последующего запуска на другом ПК Книги для улучшения навыков |
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
||||
| 21.01.2019, 15:47 | ||||
|
0
|
||||
|
1673 / 501 / 107
Регистрация: 17.05.2015
Сообщений: 1,517
|
|||
| 21.01.2019, 16:24 | |||
|
Всегда, по дефолту. Нет ни одной причины дополнительно указывать noexcept функции, которая итак noexceptНасчет предпосылок: есть предпосылка выбросить все классы, оставив обычные сишные функции.
0
|
|||
|
7 / 7 / 5
Регистрация: 25.03.2018
Сообщений: 377
|
||||||
| 21.01.2019, 21:46 [ТС] | ||||||
|
Так а как рандомность чисел посекундно сделать без <ctime>? У меня же написан srand(time(0)). Вместо using namespace std постоянно писать std::? В чем, как вы говорите, "сокральный" смысл постоянно писать эту ерунду, если можно отделаться одним подкл. про-ва имён std? Всего-лишь вопрос (=
Добавлено через 1 час 38 минут Благодарю за советы, вот получившаяся версия:
1) Глобальная переменная(и вправду быдлокодерство); 2) Убрал using namespace std, всё же, ввести за привычку не помешают, тем более если советуют()Было бы классно, если бы ещё и объяснили почему (= ); 3) Занёс все сортировки в один класс SortChoice, правда я не понял всё равно, как comparator использовать, можете привести пример, прошу. Также есть вопрос, я когда сделал void *SortChoice::... я убрал return, и написало error C4716: 'SortChoice::choice': must return a value. Это из-за указателя?
0
|
||||||
|
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
|
||
| 21.01.2019, 21:51 | ||
void * обозначает, что будет возвращен указатель неопр. типа (int, float, MyClass etc)А зачем в сортировках массивы возвращать, вы все равно и так их меняете по указателю
1
|
||
|
7 / 7 / 5
Регистрация: 25.03.2018
Сообщений: 377
|
|
| 21.01.2019, 22:07 [ТС] | |
|
Pashka Durov, бэлин, точно, спасибо XD
Добавлено через 1 минуту eva2326, а можете пожалуйста объяснить по поводу возвращаемого резалта в пост-версии инкремента? Как это в коде реализуется например, очень интересно
0
|
|
|
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
|
|
| 21.01.2019, 22:17 | |
|
cinekst_207, цикл с ++i отрабатывает быстрее на 300 наносекунд при 100 итерациях
1
|
|
|
1673 / 501 / 107
Регистрация: 17.05.2015
Сообщений: 1,517
|
||||||||||||||||||||
| 21.01.2019, 22:31 | ||||||||||||||||||||
|
Не заметила))) Значит <ctime> действительно нужен) Зачем то же придумали "пространство имён". На самом деле они нужны, что бы: 1. Избежать коллизий имён. 2. Улучшается читабельность кода. Сразу понятно откуда взялась та, или иная функция, или класс. Реальные проекты часто состоят из множества различных библиотек, которые писали разные люди в разное время. Как можно гарантировать, что не будет ошибок из-за того, что в разных библиотеках используются одни и те же названия? Например, вы видите код:
using namespace std; где нибудь в хэдере,и окажется, что в разных библиотеках одинаковые имена - компилятор без указания пространства имен не сможет понять, какую именно версию вы имеете ввиду. У конструкции: using namespace std; (вместо std можно подставить другое имя)есть реально полезное свойство: Я приведу кусочек текста взятого по ссылке из другого источника.
На самом деле для примитивных типов, таких как int разница не существенная.Компиляторы сегодня достаточно умны, и могут оптимизировать такие случаи. Но если в качестве счетчика используется какой то более сложный тип данных, например итератор, то напрасное использования постфикса может привести к напрасному ухудшению эффективности кода.
1
|
||||||||||||||||||||
|
7 / 7 / 5
Регистрация: 25.03.2018
Сообщений: 377
|
|
| 21.01.2019, 22:38 [ТС] | |
|
Pashka Durov, я так почитал, оказывается, я могу, грубо говоря, написать что постинкрементирую переменную, и потом старое значение сохранить и где-то использовать? Интересно, зачем это вообще нужно? Разве, если нам нужно "прошлое" значение инкриментированной переменной мы не можем просто создать новую переменную и инициализировать как n - 1?
0
|
|
|
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
|
||||||||||||
| 21.01.2019, 23:28 | ||||||||||||
0
|
||||||||||||
|
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
||
| 22.01.2019, 00:12 | ||
|
1
|
||
|
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
|
||||||
| 22.01.2019, 00:19 | ||||||
|
valen10, мда действительно, но помогло добавление скобок:
0
|
||||||
| 22.01.2019, 00:19 | |
|
Помогаю со студенческими работами здесь
31
Улучшения для среды delhpi Моды и другие улучшения для Дальнобойщиков 2
Апгрейд для улучшения баланса в комплектующих.
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|