Новий урок!
"Урок №189. Винятки. Навіщо вони потрібні?" - https://acode.com.ua/urok-189-vynyatky-navishho-vony-potribni/
Рубрика "Уроки по С++"
"Урок №189. Винятки. Навіщо вони потрібні?" - https://acode.com.ua/urok-189-vynyatky-navishho-vony-potribni/
Рубрика "Уроки по С++"
aCode
Винятки в С++. Навіщо вони потрібні? / aCode
Ми вже раніше говорили про механізми обробки помилок в мові С++, такі як cerr(), exit() і assert(). Однак ми не встигли поговорити про ще одну дуже важливу тему — "Винятки в мові С++". Зараз ми це виправимо.
Новий урок!
"Урок №190. Обробка винятків. Оператори throw, try і catch" - https://acode.com.ua/urok-190-obrobka-vynyatkiv-operatory-throw-try-i-catch/
Рубрика "Уроки по С++"
"Урок №190. Обробка винятків. Оператори throw, try і catch" - https://acode.com.ua/urok-190-obrobka-vynyatkiv-operatory-throw-try-i-catch/
Рубрика "Уроки по С++"
aCode
Обробка винятків. Оператори throw, try і catch в С++ / aCode
На попередньому уроці ми говорили про необхідність і користь винятків. Винятки в мові C++ реалізовані за допомогою трьох ключових слів, які працюють в зв'язці один з одним: throw, try і catch.
Новий урок!
"Урок №191. Винятки, Функції і Розкручування стеку" - https://acode.com.ua/urok-191-vynyatky-funktsiyi-i-rozkruchuvannya-steku/
Рубрика "Уроки по С++"
"Урок №191. Винятки, Функції і Розкручування стеку" - https://acode.com.ua/urok-191-vynyatky-funktsiyi-i-rozkruchuvannya-steku/
Рубрика "Уроки по С++"
aCode
Винятки, Функції і Розкручування стеку в С++ / aCode
На попередньому уроці ми розглянули, як, використовуючи ключові слова throw, try і catch, обробляти винятки. На цьому уроці ми розглянемо, як взаємодіють функції під час обробки винятків в мові С++.
Новий урок!
"Урок №192. Неспіймані винятки і обробники catch-all" - https://acode.com.ua/urok-192-nespijmani-vynyatky-i-obrobnyky-catch-all/
Рубрика "Уроки по С++"
"Урок №192. Неспіймані винятки і обробники catch-all" - https://acode.com.ua/urok-192-nespijmani-vynyatky-i-obrobnyky-catch-all/
Рубрика "Уроки по С++"
aCode
Неспіймані винятки і обробники catch-all в С++ / aCode
Мова C++ надає нам механізм виявлення/обробки всіх типів винятків — обробник catch-all. Обробник catch-all працює так само, як і звичайний блок catch, за винятком того, що замість обробки винятків певного типу даних, він використовує еліпсис (...) в якості…
Новий урок!
"Урок №193. Класи-винятки і Спадкування" - https://acode.com.ua/urok-193-klasy-vynyatky-i-spadkuvannya/
Рубрика "Уроки по С++"
"Урок №193. Класи-винятки і Спадкування" - https://acode.com.ua/urok-193-klasy-vynyatky-i-spadkuvannya/
Рубрика "Уроки по С++"
aCode
Класи-винятки і Спадкування в С++ / aCode
До цього моменту ми розглядали використання винятків тільки в звичайних функціях, які не є методами класу. Проте винятки однаково корисні і в методах, і навіть в перевантаженні операторів.
Новий урок!
"Урок №194. Повторна генерація винятків" - https://acode.com.ua/urok-194-povtorna-generatsiya-vynyatkiv/
Рубрика "Уроки по С++"
"Урок №194. Повторна генерація винятків" - https://acode.com.ua/urok-194-povtorna-generatsiya-vynyatkiv/
Рубрика "Уроки по С++"
aCode
Повторна генерація винятків в С++ / aCode
Іноді ви можете зіткнутися з ситуацією, коли потрібно зловити виняток, але обробляти його в даний момент часу не потрібно (або немає можливості). Наприклад, ви можете записати помилку в лог-файл, а потім передати її назад в caller для виконання фактичної…
Новий урок!
"Урок №195. Функціональний try-блок" - https://acode.com.ua/urok-195-funktsionalnyj-try-blok/
Рубрика "Уроки по С++"
"Урок №195. Функціональний try-блок" - https://acode.com.ua/urok-195-funktsionalnyj-try-blok/
Рубрика "Уроки по С++"
aCode
Функціональний try-блок в С++ / aCode
На цьому уроці ми розглянемо, що таке функціональний try-блок в мові С++, як його використовувати і які є нюанси.
Новий урок!
"Урок №196. Нюанси та недоліки використання винятків" - https://acode.com.ua/urok-196-nyuansy-ta-nedoliky-vykorystannya-vynyatkiv/
Рубрика "Уроки по С++"
"Урок №196. Нюанси та недоліки використання винятків" - https://acode.com.ua/urok-196-nyuansy-ta-nedoliky-vykorystannya-vynyatkiv/
Рубрика "Уроки по С++"
aCode
Нюанси та недоліки використання винятків в С++ / aCode
Крім переваг, винятки мають і недоліки. Цей урок не призначений бути вичерпним в плані розбору недоліків винятків, він призначений лише вказати на деякі основні проблеми, які можуть виникнути при використанні винятків (або при прийнятті рішення про їх використання).
Новий урок!
"Розділ №14. Підсумковий тест" - https://acode.com.ua/rozdil-14-pidsumkovyj-test/
Рубрика "Уроки по С++"
"Розділ №14. Підсумковий тест" - https://acode.com.ua/rozdil-14-pidsumkovyj-test/
Рубрика "Уроки по С++"
aCode
Розділ №14. Підсумковий тест / Уроки по С++ / aCode
Ось ми і пройшли розділ «Винятки в мові С++», пора закріпити отримані знання.
Новий урок!
"Урок №197. Розумні вказівники і Семантика переміщення" - https://acode.com.ua/urok-197-rozumni-vkazivnyky-i-semantyka-peremishhennya/
Рубрика "Уроки по С++"
"Урок №197. Розумні вказівники і Семантика переміщення" - https://acode.com.ua/urok-197-rozumni-vkazivnyky-i-semantyka-peremishhennya/
Рубрика "Уроки по С++"
aCode
Розумні вказівники і Семантика переміщення в С++ / aCode
Розумний вказівник — це клас, призначений для управління динамічно виділеною пам'яттю і забезпечення звільнення (видалення) виділеної пам'яті при виході об'єкта цього класу з області видимості.
Новий урок!
"Урок №198. Посилання r-value" - https://acode.com.ua/urok-198-posylannya-r-value/
Рубрика "Уроки по С++"
"Урок №198. Посилання r-value" - https://acode.com.ua/urok-198-posylannya-r-value/
Рубрика "Уроки по С++"
aCode
Посилання r-value в С++ / aCode
Ми вже раніше розглядали l-values і r-values. Тоді ми говорили, що вам не потрібно занадто турбуватися про них. І це було правдою до версії C++11. Зараз же, для розуміння семантики переміщення, нам потрібно переглянути цю тему.
Новий урок!
"Урок №199. Конструктор переміщення і Оператор присвоювання переміщенням" - https://acode.com.ua/urok-199-konstruktor-peremishhennya-i-operator-prysvoyuvannya-peremishhennyam/
Рубрика "Уроки по С++"
"Урок №199. Конструктор переміщення і Оператор присвоювання переміщенням" - https://acode.com.ua/urok-199-konstruktor-peremishhennya-i-operator-prysvoyuvannya-peremishhennyam/
Рубрика "Уроки по С++"
aCode
Конструктор переміщення і Оператор присвоювання переміщенням в С++ / aCode
Визначення конструктора переміщення і оператора присвоювання переміщенням виконується аналогічно визначенню конструктора копіювання і оператора присвоювання копіюванням. Однак, в той час як функції з копіюванням приймають в якості параметра константне посилання…
Новий урок!
"Урок №200. Функція std::move()" - https://acode.com.ua/urok-200-funktsiya-std-move/
Рубрика "Уроки по С++"
"Урок №200. Функція std::move()" - https://acode.com.ua/urok-200-funktsiya-std-move/
Рубрика "Уроки по С++"
aCode
Функція std::move() в С++ / aCode
Функція std::move() — це стандартна бібліотечна функція, яка конвертує переданий аргумент в r-value. Ми можемо передати l-value в функцію std::move(), і std::move() поверне нам посилання r-value. Для роботи з std::move() потрібно підключити заголовок utility.
Новий урок!
"Урок №201. Розумний вказівник std::unique_ptr" - https://acode.com.ua/urok-201-rozumnyj-vkazivnyk-std-unique_ptr/
Рубрика "Уроки по С++"
"Урок №201. Розумний вказівник std::unique_ptr" - https://acode.com.ua/urok-201-rozumnyj-vkazivnyk-std-unique_ptr/
Рубрика "Уроки по С++"
aCode
Розумний вказівник std::unique_ptr в С++ / aCode
Розумний вказівник std::unique_ptr є заміною std::auto_ptr в C++11. Ви повинні використовувати саме його для управління будь-яким динамічно виділеним об'єктом/ресурсом, але за умови, що std::unique_ptr повністю володіє переданим йому об'єктом, а не ділиться…
Новий урок!
"Урок №202. Розумний вказівник std::shared_ptr" - https://acode.com.ua/urok-202-rozumnyj-vkazivnyk-std-shared_ptr/
Рубрика "Уроки по С++"
"Урок №202. Розумний вказівник std::shared_ptr" - https://acode.com.ua/urok-202-rozumnyj-vkazivnyk-std-shared_ptr/
Рубрика "Уроки по С++"
aCode
Розумний вказівник std::shared_ptr в С++ / aCode
На відміну від std::unique_ptr, який призначений для одноосібного володіння і управління переданим йому ресурсом/об'єктом, std::shared_ptr призначений для випадків, коли кілька розумних вказівників спільно володіють одним динамічно виділеним ресурсом.
Новий урок!
"Урок №203. Розумний вказівник std::weak_ptr" - https://acode.com.ua/urok-203-rozumnyj-vkazivnyk-std-weak_ptr/
Рубрика "Уроки по С++"
"Урок №203. Розумний вказівник std::weak_ptr" - https://acode.com.ua/urok-203-rozumnyj-vkazivnyk-std-weak_ptr/
Рубрика "Уроки по С++"
aCode
Розумний вказівник std::weak_ptr в С++ / aCode
std::weak_ptr є спостерігачем — він може спостерігати і отримувати доступ до того ж об'єкту, на який вказує std::shared_ptr (або інший std::weak_ptr), але не рахуватися власником цього об'єкта.
Новий урок!
"Розділ №15. Підсумковий тест" - https://acode.com.ua/rozdil-15-pidsumkovyj-test/
Рубрика "Уроки по С++"
"Розділ №15. Підсумковий тест" - https://acode.com.ua/rozdil-15-pidsumkovyj-test/
Рубрика "Уроки по С++"
aCode
Розділ №15. Підсумковий тест / Уроки по С++ / aCode
Ще один розділ позаду. Останній підсумковий тест. Пора закріпити пройдений матеріал.
Новий урок!
"Урок №204. Стандартна бібліотека шаблонів (STL)" - https://acode.com.ua/urok-204-standartna-biblioteka-shabloniv-stl/
Рубрика "Уроки по С++"
"Урок №204. Стандартна бібліотека шаблонів (STL)" - https://acode.com.ua/urok-204-standartna-biblioteka-shabloniv-stl/
Рубрика "Уроки по С++"
aCode
Стандартна бібліотека шаблонів (STL) в С++ / aCode
Стандартна бібліотека шаблонів (скор. "STL" від "Standard Template Library") — це частина Стандартної бібліотеки С++, яка містить набір шаблонів контейнерних класів (наприклад, std::vector і std::array), алгоритмів і ітераторів.
Новий урок!
"Урок №205. Контейнери STL" - https://acode.com.ua/urok-205-kontejnery-stl/
Рубрика "Уроки по С++"
"Урок №205. Контейнери STL" - https://acode.com.ua/urok-205-kontejnery-stl/
Рубрика "Уроки по С++"
aCode
Контейнери STL в С++ / aCode
Безумовно, найбільш часто використовуваним функціоналом бібліотеки STL є контейнерні класи (або як їх ще називають — «контейнери»). Бібліотека STL містить багато різних контейнерних класів, які можна використовувати в різних ситуаціях.
Новий урок!
"Урок №206. Ітератори STL" - https://acode.com.ua/urok-206-iteratory-stl/
Рубрика "Уроки по С++"
"Урок №206. Ітератори STL" - https://acode.com.ua/urok-206-iteratory-stl/
Рубрика "Уроки по С++"
aCode
Ітератори STL в С++ / aCode
Ітератор — це об'єкт, здатний перебирати елементи контейнерного класу без необхідності користувачеві знати реалізацію цього контейнерного класу. У багатьох контейнерах (особливо в списку і в асоціативних контейнерах) ітератори є основним способом доступу…