C++ Basics

Post on 15-Apr-2017

536 views 0 download

Transcript of C++ Basics

eleks.com eleks.com

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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;}

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;}

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

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

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

eleks.com