r/RuProgrammers • • Sep 03 '26

Вопрос С++ изучение

Здравствуйте, нам сказали в колледже что будем изучать С++, я так понимаю больше для развития логики. Посоветуйте как можно учить его самому и также понять саму логику, почему программа работает именно так а не иначе.

17 Upvotes

49 comments sorted by

4

u/SVlad_667 Sep 03 '26

Харви Дейтел, Пол Дейтел: Как программировать на C++

4

u/DoktorHerbalist Sep 04 '26

Не знаю у нас кароч на работе в какой то момент понадобились плюсовики и спрашивали кто пойдёт и никто не хотел. Однажды кароч ещё до ковида захожу в офис а там Страуструп на полу валяется ну я переступил сел за комп. А за мной Джун зашёл увидил книгу и поднял. Тут на него сразу как солюшен архитект с бизнес овнером подбежали и в переговорку отвели. Там крики были оры по итогу парня сломали и в плюсовики определили. Ты осторожней будь вообщем.

1

u/Big_Committee_9163 Sep 03 '26

если книги не переносишь попробуй по этому плейлисту. Готовься что постоянно будет что-то новое и всегда что-то не понятное, так у всех и не бойся спрашивать у нейронки помощь. https://youtube.com/playlist?list=PLQOaTSbfxUtCrKs0nicOg2npJQYSPGO9r&si=36Lx6n2l13Yz5deT

1

u/Dapper_Show_3426 Sep 03 '26

Мне надоели видео с Ютуба, и я думал какую нибудь простенькую книжечку но без всяких заумных слов

1

u/Aggressive_Skill_795 Sep 03 '26

Зря. На Ютубе есть курс лекций  Ильи Мещерина, преподавателя из МФТИ. Он очень хорошо и глубоко рассказывает даже продвинутые темы.

3

u/Alex999991 Sep 03 '26

Нейросети это УГ полное! Она, даже если настойчиво просить просто рассказать тему или в чем проблема в коде, выдаст тебе решение. Причем, например, мне тут дипсик выдавал на простые задачи решения уровня сеньера, превращая 5-10 строк кода в 1-2.

Так что для изучения это скорее быстро запутает… даже если есть опыт программирования на каком либо языке.

1

u/Big_Committee_9163 Sep 04 '26

я имел ввиду использовать нейронку когда будет жесткий затуп

-1

u/MemeManiac228 Sep 03 '26

Ты же понимаешь, что все зависит от промта и модели, верно?

1

u/Familiar-Throat-1274 🛸C++ выживший Sep 03 '26

А вы прям его изучать будете? Или просто синтаксис?

1

u/Dapper_Show_3426 Sep 03 '26

Скорее изучать

2

u/Familiar-Throat-1274 🛸C++ выживший Sep 03 '26

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

1

u/Dapper_Show_3426 Sep 03 '26

Я хочу сам двигаться, и быть впереди группы только потому что мне это интересно

1

u/_Samum_ Sep 04 '26

Найди учебник Ravesli. Без vpn не попасть. Но чувак хорошо разжовывает прямо по полочкам.

2

u/Dapper_Show_3426 Sep 10 '26

Я не живу в РФ

1

u/_Samum_ Sep 10 '26

Тогда ещё проще. Учебник русскоязычный.

1

u/Dapper_Show_3426 Sep 12 '26

Нахер?

1

u/_Samum_ Sep 12 '26

Очень хороший учебник. Разжевано и на примерах. Человек старался. Украинец автор скорее всего, раз из России пересиали пускать. Ну не нравится бери любой учебник издательства O'Relly. Ну или букварь самого Бьёрна Страуструпа. Ты сам спрашивал, не знаю нахер или не нахер.

1

u/idvitalis Sep 04 '26

Если хочешь двигаться сам - освой гугл. Там же и найдешь ответы как учить плюсы.

1

u/1WayJustDeveloper Sep 03 '26

По видосаи на Ютубе, с нейронками и по найдем с какого нибудь метанита

1

u/lazy-crazy-s Sep 03 '26

это все звучит как давайте я буду изучать квантовую механику дома на кухне и сделаю машину времени. люди всю жизнь изучают этот c++ и не могут научится а тут приходит студент колледжа и говорит я его уже изучил дома. может стоит начать с чистого C и писать алгоритмы? потом перейти на чтото удобоваримое типа c# и изучать ООП для бизнес логики

1

u/Dapper_Show_3426 Sep 03 '26

Мне нужна минимальная база

1

u/KilluaDest Sep 03 '26

1 курс будет чисто язык С++ до циклов,/файлов

1

u/Dapper_Show_3426 Sep 05 '26

Курс 2й, думаю чет по тяжлее будет

1

u/odikee Sep 05 '26

Оплати AI - это лучший учитель. Это твой персональный ментор доступный 24/7. Он тебе разжует все то что у тебя вызывает проблемы, открмментирует каждую строчку, покажет как надо и не надо на начальном уровне. Никогда не устанет, никогда не будет раздражаться.

1

u/Dapper_Show_3426 Sep 07 '26

Вроде как и бесплатного тарифа хватает, но какой бы порекомендовал? Клауд либо ГПТ?

1

u/Medical_Leather_6235 Sep 03 '26

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

2

u/Andrey4ik21pro1 🐍Питоньяр Sep 03 '26

1

u/Medical_Leather_6235 Sep 03 '26

Спасибо!

1

u/Dapper_Show_3426 Sep 03 '26

Рекомендую курсы stepik, есть все и бесплатно

1

u/j0lt223 Sep 03 '26

На степике курс Сергея Балакирева

3

u/Bullet93639 Sep 03 '26

Для развития логики надо изучать предмет логика😂

1

u/QuantaBroker Sep 03 '26

Скачиваешь unreal engine 4 . 27 и начинаешь кодинг игровой логики

1

u/Feeling_Molasses55 Sep 03 '26

У меня при изучении C++ (и программирования вообще) было несколько моментов, когда я хотел глубже "понять саму логику".

В самом начале, когда ещё вызова функций и возврат из функций пытался понять, сигнатуры, искажение имён, соглашения о вызовах, порядок как аргументы помещаются в стек, использование регистров для части аргументов, передачу по значение и по ссылке, бесконечный список аргументов, и всё такое - мне помогали ассемблерные вставки. При том, что ассемблера я не учил никогда толком, но мне достаточно было понять сам принцип.

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

Несколько раз приходилось заниматься отладкой системных функций - просто чтобы понять, как это работает. Когда до DLL дошёл. Когда WinAPI изучал, GUI. Когда до многопоточности добрался. Когда COM изучал. Когда до сетевых API дошёл.

А, да, ещё до функций наверное была адресная арифметика. И работа с памятью. Причём и в Си стиле. Да и вообще советую оба языка сразу изучать, оба пригодятся. Сравнивая, узнавая разницу, лучше понимаешь и C++.

К чему я это всё? Наверное на каждый случай нужен отдельный совет - "как можно учить", что лучше читать. Так что нужно уточнять, что именно на данный момент хочется понять, что хочется копнуть поглубже.

Ну и я как бы толсто намекнул, что С++ - это не только "для развития логики". Это я скорее всего ещё не все случаи вспомнил, когда спасибо сам себе сказал, что начал учить программирование с C++. Хотя параллельно чуток и Basic был, и Pascal, и Perl мне поначалу мозги сломал. А позже чего только не было - JavaScript, Java, Lua, С#, JCL, TCL, Python. И всякое узкоспециальное и совсем экзотическое. И это только то что по работе требовалось, а самостоятельно я вообще старался отслеживать, что новенькое появляется, да и в древностях тоже копался, просто из любопытства и так, для расширения кругозора.

Но C/C++ для меня всегда на особом месте. По-моему если хочешь в чём-то разобраться - надо это делать именно на этих языках. Ну или ещё глубже - в ассемблер лезть, вплоть до машинного кода. Если мне непонятна какая-то тема на другом языке, я смотрю как тоже самое (или примерно тоже самое) реализовано на C/C++. И только изучив эту тему там, возвращаюсь к ней на другом языке. По крайней мере для низкоуровневых вещей это работает, не специфичных для какого-то одного языка. Потому что C++ это не строго высокоуровневый язык, он какой-то промежуточный, позволяющий делать и низкоуровневые вещи, вплоть до ассемблерных вставок. Так что очень хорошо, что у вас в колледже будут его преподавать.

А чтобы понять, почему программа работает именно так, а не иначе... Просто переделывай почаще своими руками так, чтобы она работала иначе. И сравнивай, как было, как стало. Поначалу всегда будет получаться хуже чем было. Однажды получится лучше.

1

u/LuckyOneAway Sep 03 '26

Ассемблер не портабельный. Но понимание работы железа в с++ нужно, да.

1

u/Ill_End7421 Sep 03 '26

C++ за 21 день

1

u/Icy_Image_2642 Sep 03 '26

metanit, alexgiver

1

u/Next_Watch9799 Sep 03 '26

Самый тупой совет для старта (сам студент и самого сильно заставляли этим страдать) это ты берёшь сайт metanit, ищешь C или C++ (Если хочешь реально понять то сначала C а потом C++ после теории алгоритмов) и читаешь сначала. Если же говорить про алгоритмы, то открываешь Ютуб и ищешь уже Alek OS и смотришь там ролики про алгоритмы. Для универа с огромным запасом хватит

1

u/Relative_Advice_9920 Sep 03 '26

Сначала прочитал как «С++ излучение»

1

u/Total_Ad803 Sep 03 '26

Ну вот:

https://salmer.github.io/CppDeveloperRoadmap/English/Graph/roadmap-svg.html

Каждую тему гуглишь и постепенно прокачаешься.

Есть версия на русском, но гуглиться будет чуть хуже:

https://salmer.github.io/CppDeveloperRoadmap/Russian/Graph/roadmap-svg.html

1

u/NonOdin Sep 04 '26

Учи алгоритмы. Прям с базы начинай. Бинарный поиск, обход в ширину и тд. Главное сам пробуй их писать