C++ Academy
16.5K subscribers
620 photos
127 videos
1 file
584 links
По всем вопросам- @haarrp

@itchannels_telegram - 🔥 best it channels

РКН: clck.ru/3FmxJF
Download Telegram
#Вопросы_с_собеседования

Что лучше const или define?

Ответ:
define - это директива препроцессора, которая не учитывает ни типов, ни областей видимости. Препроцессор вставляет значение везде, где оно используется и создается множество копий 3.14159265359 в объектном коде, константа никогда не порождает больше одной копии этого значения. define трудно отлаживать, потому что у него нет имени, только магическое число, нельзя взять адрес или создать ссылку на это значение.

У const есть тип, область видимости, можно взять адрес, создать константную ссылку на эту переменную.

Определенно, лучше использовать const, а не define.


@cpluspluc
👍193🔥2
Reddit для С и С++ программистов

r/C_programming 135k
Спрашивай совета, если проблемы с кодом, помогай другим в комментариях, читай полезные статьи, которыми делятся другие участники сообщества. Сабреддит довольно активный и имеет 135k подписчиков. И это, пожалуй, единственный сабреддит, который я упомяну для С программистов. Но не переживайте, ниже ещё будет очень много всего, что я надеюсь, сможет вас заинтересовать.

r/Cpp 238k
Самый популярный сабреддит среди С++ программистов. Здесь обсуждают всё: от выступлений на известных С++ конференциях до лучших практик. Истинные фанаты С++ оценят по достоинству.

r/Cplusplus 32,8k
Менее активный сабреддит, однако не менее познавательный. Обсуждают больше нюансы программирования на С++.

r/LearnCpp 3,9k
Подходит как новичкам, так и экспертам. Этот сабреддит предназначен для обмена исходным кодом. Изучайте исходный код, чтобы лучше почувствовать и понять, как работает C++. Самый лучший способ обучения — это практика.

r/Cpp_questions 61,4k
Спрашивайте у экспертов и помогайте новичкам. Сабреддит для вопросов и ответов. Обсуждение IDE, кода, приложений и т.п.

#cpp #programming

@cpluspluc
👍61🔥1
Как работают сортировки

В ролике разбирается сортировка пузырьком (которую учит каждый новичок), выбором, ставками, Хоара, Ломуто с примерами на C++.

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

https://youtube.com/watch?v=PF7AqefS4MU
5🔥3👍2
Бесплатные курсы по программированию C++

Программирование на языке C++(Stepik)
В курсе будет рассмотрено множество различных возможностей языка, и в том числе мы поговорим о нововведениях стандартов C++11 и C++14, стандартной библиотеке шаблонов и обработке ошибок.

Введение в программирование (C++)
Основы программирования на C++ на примере множества несложных практических задач.

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

Многопоточное программирование на С/С++
В курсе принцип многопоточного программирования рассматривается в контексте разработки сетевых и высоконагруженных систем. Ядром курса является обучение межпроцессному взаимодействию (IPC) и синхронизации потоков.

@cpluspluc
👍8🔥32🤬1
Видеокурс C++ для начинающих

Если давно хотели изучить «плюсы», то этот курс то, что вам нужно. Здесь вы найдёте 200 уроков, которые специально сделаны достаточно короткими, чтобы вы могли их изучить, осмыслить и не устать.

Сохраняйте себе в закладки и начинайте заниматься:

https://www.youtube.com/watch?v=kRcbYLK3OnQ&list=PLQOaTSbfxUtCrKs0nicOg2npJQYSPGO9r

#видео #cpp
🔥174👍2
10 лучших идей C++ проекта для начинающих

Как вам помогут эти проекты?
Чтобы попрактиковаться в изучении C++, вы можете выполнять множество проектов от простого до продвинутого. Каждый из этих проектов научит вас чему-то новому, чтобы вы были знакомы с наиболее важными темами, которые всегда будут вам полезны при создании реальных проектов.

Для работы над этими проектами вам необходимо установить IDE. Вы можете скачать бесплатную версию Visual Studio с официального сайта Microsoft . Также можно использовать Code::Blocks скачав с их официального сайта.

Читать

@cpluspluc
👍15🔥31
Media is too big
VIEW IN TELEGRAM
🎮 Подробный разбор кода игры Super Mario на языке C++ (9 шагов по созданию игры)

00:00 Введение
00:17 Шаг 1: Создание игрока
01:48 Шаг 2: Создание платформера
07:03 Шаг 3: Создание флажка
08:26 Шаг 4: Поставить изображение frend
08:57 Шаг 5: Добавления надписей для уровня
11:25 Шаг 6: Добавления врагов
16:45 Шаг 7: Добавление урона и возрождение игрока
19:13 Шаг 8: Добавление меню
23:31 Шаг 9: Добавление музыки и звуки
26:43 Игра готова

Ссылка на код
Ссылки на медиадля игры

📌 Источник

#cpp #programming

@cpluspluc
👍19🔥64👎1
#include <iostream>
#include <type_traits>

using namespace std;

int main()
{
int i, &j = i;
[=]
{
cout << is_same<decltype ((j)), int >::value
<< is_same<decltype (((j))), int & >::value
<< is_same<decltype ((((j)))), int const& >::value
<< is_same<decltype (((((j))))), int && >::value
<< is_same<decltype((((((j)))))), int const&& >::value;
}();
}


@cpluspluc
👍14🔥1👏1
Что выведет код (C++17) ?
Anonymous Poll
10%
10000
16%
01000
60%
Ошибку
8%
11000
6%
01010
👍12🔥8🤣41
📌 7 бесплатных курсов по С++

1. Введение в программирование (C++) - Stepik (BEG)

2. Основы разработки на С++: белый пояс - Шишков Илья Иванович, Парамонов Евгений Анатольевич, Полднев Антон Вячеславович, Лежанкин Иван Андреевич (Coursera) (INT)

3. Специализация Coding for Everyone: C and C++ - Учитесь кодингу на C и C++. Получите глубокое понимание программирования, научившись писаь код, отлаживать и решать сложные задачи на языках C и C++.

4. Специализация Accelerated Computer Science Fundamentals - Структуры данных и алгоритмы в C++. Изучите основы информатики, реализуя структуры данных на C++.

5. Object-Oriented Data Structures in C++ (Coursera) (INT)

6. Основы С++ и основы UE4 - Начало изучения C++(Udemy)

7. Уроки по С++ - Ravesli (INT)

@cpluspluc
👍11🔥4🤔21
Наглядная шпаргалка по основным темам в области Backend-разработки

Весь материал разбит на главы, которые включают в себя разные темы. В каждой теме можно выделить три основные части:

Визуальная часть - различные изображения/таблицы/шпаргалки для лучшего понимания (может отсутствовать). Все рисунки и таблицы сделаны с нуля, специально для этого репозитория.

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

Ссылки на источники - ресурсы, где можно найти полную информацию по конкретному вопросу (они скрыты под спойлером, который раскрывается при нажатии). По возможности, указываются максимально авторитетные источники, либо же те, которые предоставляют информацию максимально простым и понятным языком.

Github

@cpluspluc
🔥62👍2🍓1
🛠 Полезные библиотеки С++

Armadillo - быстрая библиотека C++ для линейной алгебры и научных вычислений.

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥63
🔥 C++ code snippets

Большой набор полезных скриптов и примеров кода на C++

Github

@cpluspluc
👍16🔥41
💡Задача: "Матрица спирали"

Условие задачи: дан двумерный массив, надо вернуть все его элементы в "спиральном" порядке по часовой стрелке.

Пример:
Ввод:
matrix = [[1,2,3],[4,5,6],[7,8,9]]
Вывод: [1,2,3,6,9,8,7,4,5]

Ввод: matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
Вывод: [1,2,3,4,8,12,11,10,9,5,6,7]

📌Решение

Пишите свое решение в комментариях👇

@cpluspluc
👍9🔥42🤔1
🔥 13 ресурсов для C++ разработчиков , которые помогут закрепить теорию и поупражняться в программировании

1. Hacking C++ - это наглядный справочник с картинками и инфографикой, который содержит подробное руководство по изучению языка для новичков.

2. Академия Яндекса предоставляет бесплатный онлайн-учебник по С++, который рассчитан на новичков, имеющих знания в области информатики и владеющих любым языком программирования на школьном уровне. Хендбук содержит теорию и практические задачи, решения которых проверяются автоматически. Вы можете изучать материал последовательно или выборочно по главам в своем времени.

3. CodeRun - это онлайн-тренажер с каталогом задач для разработчиков, на котором эксперты Яндекса и приглашенные специалисты собрали задачи с различных мероприятий. Задачи разбиты по темам и уровням сложности.

4. The C++ Asynchronous Framework - это современный асинхронный фреймворк с открытым исходным кодом и богатым набором абстракций для быстрого и удобного создания микросервисов, сервисов и утилит.

5. Комьюнити Stack Overflow - это платформа, на которой собрана огромная коллекция вопросов и ответов по программированию, где участники сообщества активно делятся опытом со своими коллегами.

6. Сайт Standard C++ Foundation - это ресурс, на котором публикуются новости, обсуждение стандарта C++ для всех компиляторов и платформ, а также анонсы тематических конференций.

7. Онлайн-документация по С++ - это справочник на английском языке по языкам C, C++ и стандартным библиотекам с подробными примерами, а также адаптированная версия сайта для пользователей, которые предпочитают учиться на русском языке.

8. Гайдлайны С++ Core Guidelines - это open-source проект от создателя С++ Бьярне Страуструпа и эксперта по C++ Герба Саттера. На сайте публикуются рекомендации, которые помогают разобраться с синтаксисом языка и упростить процесс написания кода.

9. Онлайн-компилятор Compiler Explorer - это интерактивный инструмент, который позволяет набирать код и сразу просматривать ассемблерный вывод. Результаты проверки можно поделиться с друзьями и коллегами, отправив им ссылку.

10. #SimpleCode - это YouTube-канал, который познакомит вас с программированием на разных языках, в том числе и на C++. Этот ресурс будет полезен разработчикам с любым бэкграундом.

11. ProgrammingKnowledge - это еще один YouTube-канал для начинающих программистов, на котором можно найти много пошаговых видеоуроков по разным языкам.

12. Codeforces - это платформа для создания, проведения и обсуждения соревнований по программированию с элементами соцсети.

13. Codewars - это огромная подборка задач на более чем 20 языках программирования, где вы можете обсудить задачи с другими игроками и посмотреть альтернативные решения.

👍 Сохраняйте и делитесь с коллегами, чтобы не потерять.

@cpluspluc
👍185🔥3
💡Задача: Игра в прыжки

Условие: Дан целочисленный массив nums. Изначально вы находитесь в первом индексе массива, и каждый элемент массива представляет максимальную длину прыжка в этой позиции.

Верните true, если вы можете добраться до последнего индекса, или false в противном случае.

Пример:
Ввод: nums = [1,3,1,1,4]
Вывод: true
Объяснение: Переходим на 1 шаг от индекса 0 к 1, затем на 3 шага к последнему индексу.

Ввод: nums = [3,2,1,0,4]
Вывод: false

Решение:

class Solution {
public:
bool canJump(vector<int>& nums) {
int n = nums.size();
int maxReach = 0;
for (int i = 0; i < n; i++) {
if (i > maxReach) return false;
maxReach = max(maxReach, i + nums[i]);
}
return true;
}
};

Временное решение: O(N)

Пространственное решение: O(1)

Пишите свое решение в комментариях👇

@cpluspluc
👍73🔥2