Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
0 / 0 / 0
Регистрация: 19.01.2026
Сообщений: 5

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

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

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

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

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

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

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

Добавлено через 1 минуту
И помню в линукс минт тоже были проблемы.
0
Злостный нарушитель
 Аватар для Verevkin
10918 / 5846 / 1289
Регистрация: 12.03.2015
Сообщений: 26,954
25.01.2026, 19:54
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Да везде может быть. И в винде и в смартфоне. И семерка и десятка лагают. Особенно проводник виндовс. Семерка в меньшей степени. Андроид постоянно имеет задержку около пол сек. Но это раздражает. Эти пол сек накапливаются и превращаются в минуты и часы. Это воры нашего времени..
Эти воры времени сейчас с нами? В этой комнате?
0
фрилансер
 Аватар для Алексей1153
6510 / 5769 / 1135
Регистрация: 11.10.2019
Сообщений: 15,410
25.01.2026, 20:07
CoderHuligan, поря железо обновить
0
 Аватар для CoderHuligan
1754 / 1020 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
26.01.2026, 00:40
Да не в железе дело как вы не поймете. Да вы возьмите любую прогу и измерьте время отклика. И потом поговорим ху из ху. Кстати интересное домашнее задание для соскучившихся.
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6697 / 3097 / 1064
Регистрация: 01.06.2021
Сообщений: 11,964
26.01.2026, 00:55
CoderHuligan, ещё как в железe.
Можешь несколько дней заниматься оптимизацией, в итоге улучшить время выполнения на несколько миллисекунд. А можешь юзать всякие SSE4/AVX2/BMI2, и будет буст в 100х. Но если железо старое и на нем хрюшка, то будет медленно.
Плюс у современных процессоров кеши L1-L3 большие.
0
 Аватар для Storm Screamer
5840 / 1597 / 127
Регистрация: 21.04.2013
Сообщений: 9,246
26.01.2026, 01:15
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Андроид постоянно имеет задержку около пол сек. Но это раздражает. Эти пол сек накапливаются и превращаются в минуты и часы. Это воры нашего времени..
Мозг тоже визуальную и аудиинформацию не мгновенно обрабатывает, а с некоторой задержкой. Раздражает или привыкли?
0
 Аватар для Наталья8
639 / 397 / 68
Регистрация: 09.03.2016
Сообщений: 4,376
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
639 / 397 / 68
Регистрация: 09.03.2016
Сообщений: 4,376
26.01.2026, 01:54

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

Не по теме:

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

0
 Аватар для CoderHuligan
1754 / 1020 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
26.01.2026, 02:59
А я написал эту фигню
А число в строку не пробовали конвертировать? Не сложилось, не?
0
Модератор
Эксперт Java
 Аватар для alecss131
2903 / 1408 / 413
Регистрация: 11.08.2017
Сообщений: 4,514
Записей в блоге: 2
26.01.2026, 12:22
Цитата Сообщение от Royal_X Посмотреть сообщение
ещё как в железe
Не совсем в железе я бы сказал. Это цена за кроссплатформенность и скорость разработки. Ради универсальности приходится городить кучу абстракций и использовать неэффективно нативные апи (если вообще использовать). А сейчас так вообще болезнь, особенно на мобилках это веб приложения выдающие себя за простые (работающие вне браузера), то есть JS код работающий в вебвьюшке или собранный при помощи электрона.
А так соглашусь, такие оптимизации какие были предложены это просто смешно, за каждый такт процессора бороться я считаю глупо.
0
3147 / 1746 / 276
Регистрация: 19.02.2010
Сообщений: 4,557
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
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6697 / 3097 / 1064
Регистрация: 01.06.2021
Сообщений: 11,964
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
639 / 397 / 68
Регистрация: 09.03.2016
Сообщений: 4,376
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
1980 / 836 / 115
Регистрация: 01.10.2012
Сообщений: 5,230
Записей в блоге: 2
26.01.2026, 14:29
Цитата Сообщение от Royal_X Посмотреть сообщение
мне плевать на эти непопулярные ОС и на проблему "кроссплатформенности". Мне нравится WinAPI..
1) "По одежке встречают" никто не отменял. Примерный ход мысли
Если это приложение не обеспечивает кроссплатформенность, то не стоит его даже смотреть, это несерьезно, несолидно
Так думают многие, хотя и не все так говорят. Понты? Да, но это работает

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

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

Решение

Цитата Сообщение от Наталья8 Посмотреть сообщение
Дальше вот так. Это три кнопки. Они вызывают функцию ниже.
Да шоп у тебя руки отсохли!
Я к тебе щас ментов вызову, наркоман!
1
 Аватар для Наталья8
639 / 397 / 68
Регистрация: 09.03.2016
Сообщений: 4,376
26.01.2026, 14:39
Цитата Сообщение от Наталья8 Посмотреть сообщение
Чего отклика? Чё делать то?
Время отклика зависит от того, чем система в данный момент занимаеться.
(Диск сканирует, или что ещё...)
Особенно когда устанавливает обновления. Тогда ничего ни куда не откликаеться.
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6697 / 3097 / 1064
Регистрация: 01.06.2021
Сообщений: 11,964
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
Ответ Создать тему
Новые блоги и статьи
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Задача: Программно добавить префикс в нумерацию документов в самописной конфигурации на БСП (помощь начинающему коллеге). Решение: В модуле объекта документа размещен следующий код: Процедура. . .
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru