C++ Basics

21
eleks.com eleks.com

Transcript of C++ Basics

Page 1: C++ Basics

eleks.com eleks.com

Page 2: C++ Basics

Page 3: C++ Basics

Page 4: C++ Basics

Page 5: C++ Basics

Page 6: C++ Basics

• Вбудовані типи (char, int, double, float, bool)

• Складні типи (Class, Struct, Union, Enum)

Page 7: C++ Basics

• Оголошення масиву

• Доступ до елементів масиву

Page 8: C++ Basics

• Виділення памяті на стеку

Page 9: C++ Basics

• Виділення памяті на heap

• Оператори new, new[], delete, delete[]

Page 10: C++ Basics

• Що таке вказівник

• Основні операції з вказівником

Page 11: C++ Basics

• Поняття константності• Константний вказівник• Передача аргументів по значенню і за посиланням (різниця між ними)

Page 12: C++ Basics

• Відмінність між стеком і хіпом• Приклад, де стекова змінна видалена, а хіпова – ні.

• Області видимості

Page 13: C++ Basics
Page 14: C++ Basics

Вигляд класу в С++ ІДЕ, definition, declaration

Конструювання/Видалення екземплярів класуМетоди, поля класу

Page 15: C++ Basics

Паттерн для управління ресурсамиКонструктор захоплює, деструктор звільняєВажливо для об’єктів на стеку

Page 16: C++ Basics

bool read_data_with_file(const std::string &filename, ...) { FILE *f = fopen(filename, ...); if (f == NULL) { return false; } int count; if (!read_number_from_file(f, &count)) { fclose(f); // ! need to close file on each error return false; } // ... read more data, can also cause errors fclose(f); return true;}

Page 17: C++ Basics

bool read_data_with_stream(const std::string &filename, ...) { std::ifstream ifs(filename, ...); if (!ifs.is_open()) { return false; } int count; if (!read_number_from_stream(ifs, &count)) { // file will be automatically closed return false; } // ... read more data // file will be automatically closed return true;}

Page 18: C++ Basics

Конструювання/Видалення екземплярів класуМетоди, поля класу

Page 19: C++ Basics

• Вбудовані типи (char, int, double, float etc)

• Складні типи (Class, Struct, Union, Enum)

Page 20: C++ Basics
Page 21: C++ Basics

eleks.com