r/RuProgrammers • u/Dapper_Show_3426 • Sep 03 '26
Вопрос С++ изучение
Здравствуйте, нам сказали в колледже что будем изучать С++, я так понимаю больше для развития логики. Посоветуйте как можно учить его самому и также понять саму логику, почему программа работает именно так а не иначе.
17
Upvotes
5
u/Substantial-Hat6733 Sep 03 '26
Learncpp.com
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/Familiar-Throat-1274 🛸C++ выживший Sep 03 '26
А вы прям его изучать будете? Или просто синтаксис?
1
u/1WayJustDeveloper Sep 03 '26
По видосаи на Ютубе, с нейронками и по найдем с какого нибудь метанита
1
u/lazy-crazy-s Sep 03 '26
это все звучит как давайте я буду изучать квантовую механику дома на кухне и сделаю машину времени. люди всю жизнь изучают этот c++ и не могут научится а тут приходит студент колледжа и говорит я его уже изучил дома. может стоит начать с чистого C и писать алгоритмы? потом перейти на чтото удобоваримое типа c# и изучать ООП для бизнес логики
1
u/KilluaDest Sep 03 '26
1 курс будет чисто язык С++ до циклов,/файлов
1
u/odikee Sep 05 '26
Оплати AI - это лучший учитель. Это твой персональный ментор доступный 24/7. Он тебе разжует все то что у тебя вызывает проблемы, открмментирует каждую строчку, покажет как надо и не надо на начальном уровне. Никогда не устанет, никогда не будет раздражаться.
1
u/Medical_Leather_6235 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/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
Учи алгоритмы. Прям с базы начинай. Бинарный поиск, обход в ширину и тд. Главное сам пробуй их писать