0 / 0 / 0
Регистрация: 19.01.2026
Сообщений: 5

Как стать успешным в С++

19.01.2026, 21:44. Показов 12782. Ответов 141
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дайте подробный или не очень гайд, хочу начать изучать c++, что стоит делать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.01.2026, 21:44
Ответы с готовыми решениями:

Написать функцию, которая копирует строку на место другого строки и возвращает признак того, что копирование было успешным
Написать функцию, которая копирует строку на место другого строки и возвращает признак того, что...

Определить сколько баллов ещё необходимо получить чтобы выступление на олимпиаде считалось успешным
Успешное выступление C++ ограничение по времени на тест: 1 секунда ограничение по памяти на...

а как думаете, можно ли стать ХОРОШИМ програмером абсолютно самостоятельно?
я не к тому что хочу попробывать. всё равно пойду на кодера. ну а ваше мнение?

141
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
25.01.2026, 19:34
Студворк — интернет-сервис помощи студентам
Меня просто раздражает когда жмешь на кнопку, а отклик появляется секундой позже. Даже пол секунды раздражает. Я хочу, чтобы все было мгновенно. Тогда и работа спорится и удовольствие получаешь. А когда каждый клик занимает секунды две это просто бесит. В телефоне на андроиде везде так. Это просто кошмар. Иногда просто хочется об стенку его грохнуть или тех кто это все программировал.
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,856
25.01.2026, 19:43
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Меня просто раздражает когда жмешь на кнопку, а отклик появляется секундой позже.
Это где у тебя такое?
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
25.01.2026, 19:49
Это где у тебя такое?
Да везде может быть. И в винде и в смартфоне. И семерка и десятка лагают. Особенно проводник виндовс. Семерка в меньшей степени. Андроид постоянно имеет задержку около пол сек. Но это раздражает. Эти пол сек накапливаются и превращаются в минуты и часы. Это воры нашего времени..

Добавлено через 1 минуту
И помню в линукс минт тоже были проблемы.
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,856
25.01.2026, 19:54
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Да везде может быть. И в винде и в смартфоне. И семерка и десятка лагают. Особенно проводник виндовс. Семерка в меньшей степени. Андроид постоянно имеет задержку около пол сек. Но это раздражает. Эти пол сек накапливаются и превращаются в минуты и часы. Это воры нашего времени..
Эти воры времени сейчас с нами? В этой комнате?
0
фрилансер
 Аватар для Алексей1153
6500 / 5731 / 1133
Регистрация: 11.10.2019
Сообщений: 15,337
25.01.2026, 20:07
CoderHuligan, поря железо обновить
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
26.01.2026, 00:40
Да не в железе дело как вы не поймете. Да вы возьмите любую прогу и измерьте время отклика. И потом поговорим ху из ху. Кстати интересное домашнее задание для соскучившихся.
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
26.01.2026, 00:55
CoderHuligan, ещё как в железe.
Можешь несколько дней заниматься оптимизацией, в итоге улучшить время выполнения на несколько миллисекунд. А можешь юзать всякие SSE4/AVX2/BMI2, и будет буст в 100х. Но если железо старое и на нем хрюшка, то будет медленно.
Плюс у современных процессоров кеши L1-L3 большие.
0
 Аватар для Storm Screamer
5251 / 1557 / 121
Регистрация: 21.04.2013
Сообщений: 9,119
26.01.2026, 01:15
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Андроид постоянно имеет задержку около пол сек. Но это раздражает. Эти пол сек накапливаются и превращаются в минуты и часы. Это воры нашего времени..
Мозг тоже визуальную и аудиинформацию не мгновенно обрабатывает, а с некоторой задержкой. Раздражает или привыкли?
0
 Аватар для Наталья8
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,290
26.01.2026, 01:43
А я написал эту фигню. И что теперь? Побриться на лысо и всё переделать?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
case WM_NOTIFY:
    {//=============== Up-Down Control ======================
        if (((LPNMHDR)lParam)->code == UDN_DELTAPOS) {
            LPNMUPDOWN lpnmud;
            lpnmud = (NMUPDOWN *)lParam;
        int count = (lpnmud->iPos + lpnmud->iDelta);
            if (count == -1) count = 3;
            // Здесь просто вписывает эту х в EDIT
            char liter[4]{};
            switch (count) {
            case 1:
                strcpy(liter, "480");
                break;
            case 2:
                strcpy(liter, "576");
                break;
            case 3:
                strcpy(liter, "720");
                break;
               }
            SendMessageA(GetDlgItem(hwnd, EDIT_UP_DOWN), WM_SETTEXT, 0, (LPARAM)liter);
        }  }
Но секунду ждать не приходиться. Даже полсекунды оно не думает...
Я не очень умный. Я всё как то на интуиции.

Добавлено через 3 минуты
Цитата Сообщение от CoderHuligan Посмотреть сообщение
любую прогу и измерьте время отклика
Чего отклика? Чё делать то? На чё нажать то?
0
 Аватар для Наталья8
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,290
26.01.2026, 01:54

Бессмертное произведение....
1
26.01.2026, 01:59

Не по теме:

У меня дома электрики оптоволокно оборвали когда ночью по столбу лазили, интернет юзаю через сотик, (скорость сейчас стала на уровне чуть лучше edge) и заметил один забавный момент, что ютуб я еще как-то могу смотреть, а vkvideo почему-то нет, даже через штуку, про которую нельзя говорить..

0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
26.01.2026, 02:59
А я написал эту фигню
А число в строку не пробовали конвертировать? Не сложилось, не?
0
Модератор
Эксперт Java
 Аватар для alecss131
2895 / 1401 / 412
Регистрация: 11.08.2017
Сообщений: 4,488
Записей в блоге: 2
26.01.2026, 12:22
Цитата Сообщение от Royal_X Посмотреть сообщение
ещё как в железe
Не совсем в железе я бы сказал. Это цена за кроссплатформенность и скорость разработки. Ради универсальности приходится городить кучу абстракций и использовать неэффективно нативные апи (если вообще использовать). А сейчас так вообще болезнь, особенно на мобилках это веб приложения выдающие себя за простые (работающие вне браузера), то есть JS код работающий в вебвьюшке или собранный при помощи электрона.
А так соглашусь, такие оптимизации какие были предложены это просто смешно, за каждый такт процессора бороться я считаю глупо.
0
3131 / 1722 / 273
Регистрация: 19.02.2010
Сообщений: 4,513
26.01.2026, 13:14
Цитата Сообщение от Наталья8 Посмотреть сообщение
А я написал эту фигню.
Да, фигню.
Раз целые значения в кейсах в свитче идут подряд - можно использовать их как индексы строк массива:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
case WM_NOTIFY:
    {//=============== Up-Down Control ======================
        if (((LPNMHDR)lParam)->code == UDN_DELTAPOS) {
            LPNMUPDOWN lpnmud;
            lpnmud = (NMUPDOWN *)lParam;
        int count = (lpnmud->iPos + lpnmud->iDelta);
            if (count == -1) count = 3;
            // Здесь просто вписывает эту х в EDIT
 
//далее - переделанный код 
            //!!!на случай изменения вышеидущего говнокода - всовываем проверку,
            //   чтобы за границы массива не вылезти
            if ( count>=1 && count<4 ) {
                const char * const liter[3]={"480","576","720"};
                //элементы массива с нуля идут - поэтому в след.строке юзаем count-1
                SendMessageA(GetDlgItem(hwnd, EDIT_UP_DOWN), WM_SETTEXT, 0, (LPARAM)liter[count-1]);
            }
 
        }  }
Т.е. скрипач свитч не нужен вообще. И если убрать мои комменты и проверку - остаётся всего 2 строки.
1
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
26.01.2026, 13:18
Цитата Сообщение от alecss131 Посмотреть сообщение
Это цена за кроссплатформенность и скорость разработки.
По этой причине я пишу только для Windows. Согласно Statcounter и данным по состоянию на декабрь 2025, среди десктопных операционных систем Windows самая популярная и занимает 66.4%. На втором месте macOS с 4.75%, на третьем все различные Linux дистрибутивы с 3.86%.
Видя такую статистику, мне плевать на эти непопулярные ОС и на проблему "кроссплатформенности". Мне нравится WinAPI своей мощью и функционалом. На всяких фреймворках (в том числе таких нахлобученных как Qt) даже близко нельзя написать то, что можно на WinAPI, когда речь идет о программе, которая будет взаимодействовать с системой. Даже самые банальные файловые операции WinAPI делает на таком мощном уровне и все настраивается до мелочей, что фреймворки даже в подметки не годятся.

Конечно, кроссплатформенные фреймворки сильно облегчают работу. Ты пишешь один код и потом собираешь программу для разных платформ за считанные минуты. К тому же, не нужно изучать нативное апи разных платформ, а вместо этого учишь апи фреймворка. В Qt благодаря удобной документации с примерами даже изучать нечего, просто берешь и пишешь код. Однако, за такое удобство приходится жертвовать многими вещами и идти на некоторые риски:

1. теряется производительность приложения. Я на этом форуме уже приводил примеры, как даже один из самых качественных и отшлифованных, на мой взгляд, фреймворков - Qt - значительно проигрывает в производительности WinAPI.

2. при работе с некоторыми специфичными для каждой платформы вещами, либо просто при отсутствии в фреймворке той или иной фичи, все равно приходится вызывать нативное апи, функции которого будешь смешивать с остальным кроссплатформенным кодом приложения. И чтобы кроссплатформенность не потерялась, то приходится реализовать кроссплатформенные велосипеды
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
#if defined(_WIN32) || defined(_WIN64)
    // Windows
#elif defined(__APPLE__) && defined(__MACH__)
    // macOS
#elif defined(__linux__)
    // Linux
#else
    // Unknown OS
#endif


3. начинаешь как наркоман зависеть от фреймворка. Например, сегодня многие модули Qt предлагаются, в том числе, по более-менее терпимой лицензии LGPL, ради которой еще можно использовать этот фреймворк, и только там несколько модулей типа Qt Graphs предлагают только по GPL3 (естественно и по коммерческой лицензии тоже). Однако, кто знает, что произойдет завтра. Представь, ты что-то пишешь и на этом зарабатываешь, как в один прекрасный день узнаешь, что ты либо должен полностью открыть свой код, перейдя на GPL3 или приобрести коммерческую лицензию. Не говорю уже о том, что нет никакой гарантии, что через несколько лет фреймворк будет вообще существовать и все твои знания по нему могут просто пойти коту под хвост.

Так что, фреймворки подходят больше для RAD разработки, так сказать, чтобы быстро заклепать приложения на всех существующих платформах. И даже в больших компаниях, скорость разработки очень часто важнее, чем качество приложения, поэтому все пользуются этими фреймворками, а юзеры и дальше будут терпеть приложения, написанные на них, которые неоптимизированы и знатно весят. Ведь, как говорят разрабы, "ничего, юзеры не подохнут, пусть обновляют железо" или "в 2026 году стыдно не иметь SSD более 1 ТБ, так что ничего не случится, если пустое приложение на Qt будет занимать 25 МБ".
1
 Аватар для Наталья8
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,290
26.01.2026, 14:28
Дальше вот так. Это три кнопки. Они вызывают функцию ниже.
Она запоминает число.(Диалог рассыпаеться.)
(Почему сразу гавно? Засахарилось просто.)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
case WM_COMMAND: {
        UINT wId = LOWORD(wParam);
        char lit[4]{};
        GetWindowTextA(GetDlgItem(hwnd, EDIT_UP_DOWN), lit, 4);
    if (wId == IDC_BUTTON1) {
        if(check_and_store(lit) >= 0)// Это всё развалиться, а число мы сохраним в той функции...
            EndDialog(hwnd, wId);
        }
    if (wId == IDC_BUTTON2) {
        if (check_and_store(lit) >= 0)
            EndDialog(hwnd, wId);
        }
    if (wId == IDC_BUTTON3) {
        if (check_and_store(lit) >= 0)
            EndDialog(hwnd, wId);
        }
    if (wId == IDC_BUTTON4) {
        EndDialog(hwnd, wId);
    }
              }
             break;
Потом я её вызываю и спрашиваю результат...
Т/Е в EDIT можно вписать число ручками.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 //Проверяет ввод и хранит значение размера по вертикали. (Если ввод правильный, диалог рассыпаеться)
int check_and_store(char* lt = NULL) {
    static int ret_width{};
    if (lt != NULL) {// Вызов со значением (из диалога)
        bool one{ true };
        for (int i = 0; i < 3; ++i) {// Проверка только три цифры...
            //printf("%d -- %c\n", i, lt[i]);
if ((unsigned char)lt[i] < 48 || (unsigned char)lt[i] > 57)one = false;
        }
if(one || atoi(lt)==0)ret_width = atoi(lt);
else return -1;// Ввод был не правильный
        }
    if (ret_width % 2 != 0) ret_width--;// Чётность
 return ret_width;
}
Добавлено через 1 минуту
C++
1
2
if (check_and_store() != 0) {
            double kf_v((float)dec_ctx->height / (float)dec_ctx->width);//  <<-------- Пропорции картинки
Я считаю, что неплохо придумал...

Добавлено через 6 минут
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
свитч не нужен вообще
Может оно и так. Мне показалось красивее. Да и мысли были не те.
0
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,147
Записей в блоге: 2
26.01.2026, 14:29
Цитата Сообщение от Royal_X Посмотреть сообщение
мне плевать на эти непопулярные ОС и на проблему "кроссплатформенности". Мне нравится WinAPI..
1) "По одежке встречают" никто не отменял. Примерный ход мысли
Если это приложение не обеспечивает кроссплатформенность, то не стоит его даже смотреть, это несерьезно, несолидно
Так думают многие, хотя и не все так говорят. Понты? Да, но это работает

2) Если "нравится WinAPI" - стало быть Вы им занимаетесь, и оно поглощает Ваше время. Это плохо, гораздо лучше "жрать плюшки" в удобном фреймворке. И намного легче. Да, "зависимость", но лучше от фреймворка чем от конкретной платформы. Без зависимостей сейчас никто не живет. Не парьтесь что там будет если фреймворк загнется, даже если это произойдет, юзеров у него много, а для толпы решения найдутся всегда. Да, здесь лучше/выгоднее быть "в толпе"

3) Не слишком доверяйте процентам статистики что там популярно. Важно не только "сколько юзеров", но и "каких". Юзер вындоуз обычно мелкая шпана, нет денег даже на железо, не говоря уже о софте. Он будет охотно жрать бесплатный софт, рисовать Вам звезды/рейтинги, но что-то покупать - таких и мыслей не было
А давайте напишем прогу за 5 баксов. Та даже за 2! Но ведь юзеров-то море, один из 100 да купит! Та даже один из тыщи! Их же мульены! Получается..
Думаю это Вы уже прошли
0
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,856
26.01.2026, 14:29
Лучший ответ Сообщение было отмечено Igor3D как решение

Решение

Цитата Сообщение от Наталья8 Посмотреть сообщение
Дальше вот так. Это три кнопки. Они вызывают функцию ниже.
Да шоп у тебя руки отсохли!
Я к тебе щас ментов вызову, наркоман!
1
 Аватар для Наталья8
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,290
26.01.2026, 14:39
Цитата Сообщение от Наталья8 Посмотреть сообщение
Чего отклика? Чё делать то?
Время отклика зависит от того, чем система в данный момент занимаеться.
(Диск сканирует, или что ещё...)
Особенно когда устанавливает обновления. Тогда ничего ни куда не откликаеться.
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
26.01.2026, 14:43
Цитата Сообщение от Igor3D Посмотреть сообщение
Если "нравится WinAPI" - стало быть Вы им занимаетесь, и оно поглощает Ваше время
мне и Android API нравится. Я даже приложения делал на пару мегабайт. На фреймворке так не получится. Одним словом, я люблю нативные апи.

Добавлено через 2 минуты
Цитата Сообщение от Наталья8 Посмотреть сообщение
Время отклика зависит от того, чем система в данный момент занимаеться.
(Диск сканирует, или что ещё...)
Особенно когда устанавливает обновления. Тогда ничего ни куда не откликаеться.
обнови железо и не заметишь даже фонового майнинга криптовалюты пиратским софтом)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.01.2026, 14:43

Как стать крутым программистом?
Ja tut pocital forum, i toze hociu stat krutim programistom, i neprosto programirovat, a umet iskat...

Как стать экспертом в C++?
Как стать экспертом в C++?

Как стать программистом
В общем ситуация такая, изучаю с++(почти год) и с# пару месяцев. Вот задумался что я должен знать и...

Как стать хорошим программистом?
Здравствуйте Уважаемые программисты.. Я учусь на 2 курсе на ИСИТ... И Я люблю программировать и это...

Как стать программистом сетевых устройств
Добрый день! Программирую микроконтроллеры на языке Си и С++ Хочу освоить новую область -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Опции темы

Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru