Skip to content

Instantly share code, notes, and snippets.

@TheDrHax
Last active April 27, 2021 10:37
Show Gist options
  • Save TheDrHax/3219c5a6ba6488dfe05e763ad9fd5e6a to your computer and use it in GitHub Desktop.
Save TheDrHax/3219c5a6ba6488dfe05e763ad9fd5e6a to your computer and use it in GitHub Desktop.
Примеры кода C++
#include <iostream>
// Этот метод только и делает, что выкидывает ошибки
void test() {
throw "OH NO! D:"; // В кавычках можно написать любой текст, который опишет ошибку
// Сюда выполнение уже не зайдёт, так как throw прерывает выполнение, как и return
}
int main(int argc, char **argv)
{
// Блок try-catch позволяет обработать подобные ошибки, не убив при этом программу
try {
test(); // Если функция не выбросит ошибку, выполнение пройдёт через этот блок и пропустит блок catch
} catch (const char *ex) { // const char * — тип, к которому относится любая строка, например "OH NO! D:"
// Тут пишем то, что должно произойти при ошибке
// Так как ошибка в нашем случае является массивом символов, выведем её в консоль
std::cout << ex << std::endl;
}
// Блок try-catch позволит программе добраться до этого момента, но тут ВНЕЗАПНО
test();
// Программа выпадет с фатальной ошибкой и сюда выполнение уже не зайдёт. Печально.
return 0;
}
#include <iostream>
// Эта функция умеет записывать значение по указателю, переданному в качестве аргумента
void test(int *a) {
(*a) = 456; // Обращаемся к области памяти по указателю *a и записываем туда значение 456
}
int main(int argc, char **argv)
{
int b = 123; // Просто объявляем целочисленную переменную и присваиваем ей значение 123
std::cout << b << std::endl; // Выводим значение переменной b в консоль (выведется 123)
test(&b); // Передаём функции УКАЗАТЕЛЬ на переменную b
// Функция test() изменила значение переменной b на 456
std::cout << b << std::endl; // Снова выводим значение переменной b (выведется 456)
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment