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

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

19.01.2026, 21:44. Показов 12288. Ответов 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,855
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,855
25.01.2026, 19:54
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Да везде может быть. И в винде и в смартфоне. И семерка и десятка лагают. Особенно проводник виндовс. Семерка в меньшей степени. Андроид постоянно имеет задержку около пол сек. Но это раздражает. Эти пол сек накапливаются и превращаются в минуты и часы. Это воры нашего времени..
Эти воры времени сейчас с нами? В этой комнате?
0
фрилансер
 Аватар для Алексей1153
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
25.01.2026, 20:07
CoderHuligan, поря железо обновить
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
26.01.2026, 00:40
Да не в железе дело как вы не поймете. Да вы возьмите любую прогу и измерьте время отклика. И потом поговорим ху из ху. Кстати интересное домашнее задание для соскучившихся.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,470
26.01.2026, 00:55
CoderHuligan, ещё как в железe.
Можешь несколько дней заниматься оптимизацией, в итоге улучшить время выполнения на несколько миллисекунд. А можешь юзать всякие SSE4/AVX2/BMI2, и будет буст в 100х. Но если железо старое и на нем хрюшка, то будет медленно.
Плюс у современных процессоров кеши L1-L3 большие.
0
 Аватар для Storm Screamer
4958 / 1536 / 118
Регистрация: 21.04.2013
Сообщений: 9,012
26.01.2026, 01:15
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Андроид постоянно имеет задержку около пол сек. Но это раздражает. Эти пол сек накапливаются и превращаются в минуты и часы. Это воры нашего времени..
Мозг тоже визуальную и аудиинформацию не мгновенно обрабатывает, а с некоторой задержкой. Раздражает или привыкли?
0
Нарушитель
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,218
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
Нарушитель
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,218
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
2892 / 1398 / 412
Регистрация: 11.08.2017
Сообщений: 4,479
Записей в блоге: 2
26.01.2026, 12:22
Цитата Сообщение от Royal_X Посмотреть сообщение
ещё как в железe
Не совсем в железе я бы сказал. Это цена за кроссплатформенность и скорость разработки. Ради универсальности приходится городить кучу абстракций и использовать неэффективно нативные апи (если вообще использовать). А сейчас так вообще болезнь, особенно на мобилках это веб приложения выдающие себя за простые (работающие вне браузера), то есть JS код работающий в вебвьюшке или собранный при помощи электрона.
А так соглашусь, такие оптимизации какие были предложены это просто смешно, за каждый такт процессора бороться я считаю глупо.
0
2845 / 1705 / 273
Регистрация: 19.02.2010
Сообщений: 4,482
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
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,470
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
Нарушитель
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,218
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,097
Записей в блоге: 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,855
26.01.2026, 14:29
Лучший ответ Сообщение было отмечено Igor3D как решение

Решение

Цитата Сообщение от Наталья8 Посмотреть сообщение
Дальше вот так. Это три кнопки. Они вызывают функцию ниже.
Да шоп у тебя руки отсохли!
Я к тебе щас ментов вызову, наркоман!
1
Нарушитель
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,218
26.01.2026, 14:39
Цитата Сообщение от Наталья8 Посмотреть сообщение
Чего отклика? Чё делать то?
Время отклика зависит от того, чем система в данный момент занимаеться.
(Диск сканирует, или что ещё...)
Особенно когда устанавливает обновления. Тогда ничего ни куда не откликаеться.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,470
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
Ответ Создать тему
Новые блоги и статьи
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru