Last active
April 27, 2021 10:37
-
-
Save TheDrHax/3219c5a6ba6488dfe05e763ad9fd5e6a to your computer and use it in GitHub Desktop.
Примеры кода C++
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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