Обмежений доступ для гостей

Вам доступно 3 уроки з цього курсу безкоштовно.

  • Коментарі доступні тільки авторизованим користувачам
  • Прогрес зберігається тільки 0:00
🔒
КурсиПрограмування / Повний курс C++

Повний курс C++

Вигляд:

Модуль 0. Вступ та налаштування

1

Вступ до програм та мов програмування

Що таке програма та мови програмування.

2

Вступ до C/C++

Історія та особливості мови C++.

3

Вступ до розробки на C++

Етапи створення програми.

4

Компілятор, лінкер та бібліотеки

Як код перетворюється на програму.

5

Встановлення IDE

Visual Studio, VS Code, Code::Blocks.

6

Компіляція першої програми

Hello World та запуск програми.

7

Типові проблеми C++

Поширені помилки початківців.

8

Налаштування компілятора

Build configurations та стандарти мови.

Модуль 1. Основи C++

9

Інструкції та структура програми

Statements та функція main.

10

Коментарі

Однорядкові та багаторядкові коментарі.

11

Обʼєкти та змінні

Оголошення змінних та памʼять.

12

Присвоєння та ініціалізація

Різні способи ініціалізації в C++.

13

iostream: cout, cin, endl

Введення та виведення даних.

14

Неініціалізовані змінні

Undefined behavior та його наслідки.

15

Ключові слова та ідентифікатори

Правила іменування змінних.

16

Пробіли та форматування

Стиль коду та читабельність.

17

Літерали та оператори

Числові та рядкові літерали.

18

Вирази

Обчислення виразів у C++.

19

Розробка першої програми

Практика написання коду.

Модуль 2. Функції та файли

20

Вступ до функцій

Що таке функції та навіщо вони.

21

Функції з поверненням значення

Return values.

22

Функції void

Функції без повернення.

23

Параметри та аргументи

Передача даних у функції.

24

Локальна область видимості

Local scope.

25

Ефективне використання функцій

Best practices.

26

Прототипи функцій

Forward declarations.

27

Програми з кількох файлів

Розділення коду.

28

Простори імен (namespaces)

namespace та конфлікти імен.

29

Препроцесор

#include, #define, макроси.

30

Заголовкові файли

Header files та їх створення.

31

Header guards

Захист від подвійного включення.

32

Проектування програм

Як планувати структуру коду.

Модуль 3. Налагодження програм

33

Синтаксичні та семантичні помилки

Типи помилок у коді.

34

Процес налагодження

Систематичний підхід до debugging.

35

Стратегія налагодження

Методи пошуку помилок.

36

Базові техніки debugging

Print debugging та інші методи.

37

Використання відладчика: Stepping

Step into, step over, step out.

38

Breakpoints та запуск

Точки зупинки та виконання.

39

Спостереження за змінними

Watch variables.

40

Call stack

Стек викликів функцій.

Модуль 4. Фундаментальні типи даних

41

Огляд фундаментальних типів

Базові типи даних у C++.

42

Тип void

Спеціальний тип void.

43

Розміри обʼєктів та sizeof

Памʼять та sizeof оператор.

44

Цілі числа зі знаком (signed)

int, short, long.

45

Цілі числа без знаку (unsigned)

Unsigned типи та їх особливості.

46

Fixed-width integers та size_t

int32_t, uint64_t, size_t.

47

Наукова нотація

Scientific notation.

48

Числа з плаваючою точкою

float, double та точність.

49

Булеві значення (bool)

true, false.

50

Оператор if

Умовне виконання.

51

Символи (char)

Символи та ASCII.

52

Перетворення типів та static_cast

Type conversion.

Модуль 5. Константи та рядки

53

Константні змінні (const)

Named constants.

54

Літерали

Числові, символьні, рядкові літерали.

55

Системи числення

Decimal, binary, hex, octal.

56

Константні вирази

Constant expressions.

57

Constexpr змінні

Compile-time constants.

58

Вступ до std::string

Робота з рядками.

59

std::string_view

Ефективна робота з рядками.

Модуль 6. Оператори

60

Пріоритет та асоціативність

Порядок виконання операцій.

61

Арифметичні оператори

+, -, *, /, %.

62

Остача та піднесення до степеня

Modulo та pow.

63

Інкремент та декремент

++, -- та побічні ефекти.

64

Оператор кома

Comma operator.

65

Умовний оператор

Тернарний оператор ?:.

66

Оператори порівняння

Relational operators.

67

Логічні оператори

&&, ||, !.

Модуль 7. Область видимості та звʼязування

68

Складені інструкції (блоки)

Compound statements.

69

Користувацькі namespaces

User-defined namespaces.

70

Локальні змінні

Local variables.

71

Глобальні змінні

Global variables.

72

Затінення змінних

Variable shadowing.

73

Внутрішнє звʼязування

Internal linkage.

74

Зовнішнє звʼязування

External linkage.

75

Inline функції та змінні

Inline optimization.

76

Static локальні змінні

Static local variables.

77

Using declarations та directives

using namespace.

Модуль 8. Потік керування

78

Вступ до потоку керування

Control flow basics.

79

If statements та блоки

Умовні конструкції.

80

Типові помилки з if

Common if statement problems.

81

Constexpr if

Compile-time if.

82

Основи switch

Switch statement.

83

Switch fallthrough та scope

Fallthrough та області.

84

Оператор goto

Goto та коли уникати.

85

Цикл while

While loops.

86

Цикл do-while

Do-while loops.

88

Break та continue

Керування циклами.

89

Halts

Завершення програми.

90

Генерація випадкових чисел

Random number generation.

91

Mersenne Twister

Якісний генератор випадкових чисел.

Модуль 9. Обробка помилок

92

Тестування коду

Introduction to testing.

93

Code coverage

Покриття коду тестами.

94

Типові семантичні помилки

Common semantic errors.

95

Виявлення та обробка помилок

Error handling.

96

std::cin та невалідний ввід

Handling invalid input.

97

Assert та static_assert

Assertions.

Модуль 10. Перетворення типів

98

Неявне перетворення типів

Implicit type conversion.

99

Числове просування

Numeric promotion.

100

Числові перетворення

Numeric conversions.

101

Звужуючі перетворення

Narrowing conversions.

102

Арифметичні перетворення

Arithmetic conversions.

103

Явне перетворення (casting)

Explicit casting.

104

Typedef та type aliases

Type aliases.

105

Type deduction з auto

auto keyword.

Модуль 11. Перевантаження функцій та шаблони

106

Вступ до перевантаження функцій

Function overloading.

107

Диференціація перевантажень

Overload differentiation.

108

Вирішення перевантажень

Overload resolution.

109

Видалення функцій

Deleting functions.

110

Аргументи за замовчуванням

Default arguments.

111

Шаблони функцій

Function templates.

112

Інстанціювання шаблонів

Template instantiation.

113

Шаблони з кількома типами

Multiple template types.

114

Non-type template parameters

Non-type parameters.

Модуль 12. Посилання та вказівники

115

Складені типи даних

Compound data types.

116

Lvalue та rvalue

Value categories.

117

Lvalue references

Посилання.

118

Lvalue references to const

Const references.

119

Pass by lvalue reference

Передача за посиланням.

120

Pass by const lvalue reference

Const reference passing.

121

Вступ до вказівників

Introduction to pointers.

122

Нульові вказівники

Null pointers.

123

Вказівники та const

Pointers and const.

124

Pass by address

Передача за адресою.

125

Return by reference та address

Повернення за посиланням.

126

std::optional

Optional values.

Модуль 13. Enums та Structs

127

Користувацькі типи

Program-defined types.

128

Unscoped enumerations

Звичайні enum.

129

Перетворення enum

Enum conversions.

130

Enum та рядки

Enum to/from string.

131

Scoped enumerations (enum class)

Enum classes.

132

Вступ до structs

Structures basics.

133

Struct aggregate initialization

Ініціалізація структур.

134

Default member initialization

Значення за замовчуванням.

135

Передача та повернення structs

Structs як параметри.

136

Вкладені структури

Nested structs.

137

Class templates

Шаблони класів.

138

CTAD

Class template argument deduction.

Модуль 14. Вступ до класів

139

Вступ до ООП

Object-oriented programming.

140

Вступ до класів

Classes basics.

141

Методи класу

Member functions.

142

Const обʼєкти та методи

Const member functions.

143

Public та private

Access specifiers.

144

Access functions (getters/setters)

Accessor methods.

145

Інкапсуляція

Data hiding.

146

Вступ до конструкторів

Constructors.

147

Constructor member initializer lists

Member initialization.

148

Default constructors

Конструктори за замовчуванням.

149

Delegating constructors

Делегуючі конструктори.

150

Тимчасові обʼєкти

Temporary objects.

151

Copy constructor

Конструктор копіювання.

152

Copy elision

Оптимізація копіювання.

153

Converting constructors та explicit

Explicit keyword.

Модуль 15. Більше про класи

154

Вказівник this

Hidden this pointer.

155

Класи та header files

Class declarations.

156

Вкладені типи

Nested types.

157

Деструктори

Destructors.

158

Static member variables

Статичні члени.

159

Static member functions

Статичні методи.

160

Friend functions

Дружні функції.

161

Friend classes

Дружні класи.

Модуль 16. std::vector

162

Контейнери та масиви

Containers introduction.

163

Вступ до std::vector

Dynamic arrays.

164

Vector length та subscript

Size та індексація.

165

Передача std::vector

Passing vectors.

166

Повернення std::vector

Returning vectors.

167

Масиви та цикли

Arrays and loops.

168

Range-based for loops

For-each loops.

169

Індексація через enums

Array indexing with enums.

170

Vector resizing та capacity

Зміна розміру.

171

Vector як стек

Stack behavior.

Модуль 17. std::array та C-style масиви

172

Вступ до std::array

Fixed-size arrays.

173

std::array length та indexing

Array operations.

174

Передача та повернення std::array

Array passing.

175

C-style arrays

Traditional arrays.

176

C-style array decay

Array to pointer decay.

177

Pointer arithmetic

Арифметика вказівників.

178

C-style strings

Char arrays.

179

Багатовимірні масиви

Multidimensional arrays.

Модуль 18. Ітератори та алгоритми

180

Сортування (selection sort)

Sorting basics.

181

Вступ до ітераторів

Iterator concept.

182

Алгоритми стандартної бібліотеки

STL algorithms.

183

Вимірювання часу виконання

Timing code.

Модуль 19. Динамічне виділення памʼяті

184

new та delete

Dynamic allocation.

185

Динамічні масиви

Dynamically allocated arrays.

186

Деструктори та памʼять

Memory cleanup.

187

Вказівники на вказівники

Pointers to pointers.

188

Void pointers

Generic pointers.

Модуль 20. Розширені функції

189

Вказівники на функції

Function pointers.

190

Стек та купа

Stack and heap.

191

Рекурсія

Recursive functions.

192

Аргументи командного рядка

Command line arguments.

193

Вступ до лямбда-функцій

Lambda expressions.

194

Lambda captures

Capturing variables.

Модуль 21. Перевантаження операторів

195

Вступ до перевантаження операторів

Operator overloading.

196

Перевантаження арифметичних операторів

Arithmetic operators.

197

Перевантаження I/O операторів

<< and >> operators.

198

Перевантаження через member functions

Member operator overloading.

199

Перевантаження unary операторів

+, -, ! operators.

200

Перевантаження операторів порівняння

Comparison operators.

Модуль 22. Move semantics та Smart Pointers

201

Вступ до smart pointers

Smart pointers intro.

202

R-value references

Rvalue references.

203

Move constructors

Move semantics.

204
205

std::unique_ptr

Unique ownership.

206

std::shared_ptr

Shared ownership.

207

std::weak_ptr

Weak references.

Модуль 23. Відносини обʼєктів

208

Відносини обʼєктів

Object relationships.

209

Композиція

Composition.

210

Агрегація

Aggregation.

211

Асоціація

Association.

212

Залежності

Dependencies.

213

Класи-контейнери

Container classes.

214

std::initializer_list

Initializer lists.

Модуль 24. Наслідування

215

Вступ до наслідування

Inheritance basics.

216

Базове наслідування

Basic inheritance.

217

Порядок конструювання

Construction order.

218

Конструктори та наслідування

Derived class constructors.

219

Наслідування та доступ

Inheritance access specifiers.

220

Додавання функціональності

Adding to derived classes.

221

Перевизначення методів

Overriding behavior.

222

Приховування функцій

Hiding inherited functions.

223

Множинне наслідування

Multiple inheritance.

Модуль 25. Віртуальні функції

224

Вказівники на базовий клас

Base class pointers.

225

Віртуальні функції та поліморфізм

Virtual functions.

226

Override та final

Override specifier.

227

Віртуальні деструктори

Virtual destructors.

228

Early та late binding

Binding types.

229

Таблиця віртуальних функцій

Virtual table.

230

Чисто віртуальні функції

Pure virtual functions.

231

Абстрактні класи

Abstract base classes.

232

Object slicing

Slicing problem.

233

Dynamic casting

dynamic_cast.

Модуль 26. Шаблони класів

234

Шаблони класів

Template classes.

235

Non-type template parameters

Non-type parameters.

236

Спеціалізація шаблонів функцій

Function template specialization.

237

Спеціалізація шаблонів класів

Class template specialization.

238

Часткова спеціалізація

Partial specialization.

Модуль 27. Виключення

239

Необхідність виключень

Need for exceptions.

240

Базова обробка виключень

Basic exception handling.

241

Виключення та stack unwinding

Stack unwinding.

242

Необроблені виключення

Uncaught exceptions.

243

Виключення та класи

Exceptions and inheritance.

244

Повторне викидання виключень

Rethrowing exceptions.

245

Function try blocks

Function-level try.

246

noexcept

Exception specifications.

Модуль 28. Введення/виведення (I/O)

247

I/O streams

Input/output streams.

248

Введення з istream

Input with istream.

249

Виведення з ostream

Output with ostream.

250

Потоки для рядків

String streams.

251

Стани потоків

Stream states.

252

Файловий I/O

Basic file I/O.

253

Довільний доступ до файлів

Random file I/O.

Коментарі

💬

Коментарі доступні тільки для авторизованих користувачів