/
lyapdy
/
Object_oriented_programming_cpp_318
Обзор
Документация
Войти
/
lyapdy
/
Object_oriented_programming_cpp_318
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
lab5/task_1.cpp
55 строк
3 KB
danillyapunov
some commit
21 авг 2025, 15:53
21 авг 2025, 15:53
a2fe910
Код
Авторство
О чём код?
#include <iostream> #include "task_1.h" float bssValue; // .bss static int dataValue(5); // .data int arra[] {6, 7, 8, 9, 10}; int recFactorial(unsigned n) { // �㭪�� ��� Task_4a if (n > 1) return n * recFactorial(n - 1); else return 1; } void task_1(void * addr) { std::cout << "������� 1" << '\n'; std::cout << "\n���� �㭪樨 main: " << reinterpret_cast<void*>(addr) <<'\n'; std::cout << "\n���� �㭪樨 recFactorial: " << reinterpret_cast<void*>(recFactorial) << '\n'; int var; std::cout << "\n���� ��६����� var, ᮧ������ � �⥪�: " << &var << '\n'; int arr[] {1, 2, 3, 4, 5}; std::cout << "\n���� � ���祭�� ������⮢ ���ᨢ� arr, ᮧ������� � �⥪�: " << '\n'; for (size_t i = 0; i < sizeof(arr) / sizeof(arr[0]); ++i) { std::cout << "���祭�� ������� " << (i + 1) << ": " << arr[i] << "; ��� ����: " << &arr[i] << '\n'; } std::cout << "\n���� ��६����� bssValue � ����� ����� � ᥪ樨 .bss: " << &bssValue << '\n'; std::cout << "\n���� ��६����� dataValue � ����� ����� � ᥪ樨 .data: " << &dataValue << '\n'; std::cout << "\n���� � ���祭�� ������⮢ ���ᨢ� arra, ᮧ������� � ����� �����: " << '\n'; for (size_t i = 0; i < sizeof(arra) / sizeof(arr[0]); ++i) { std::cout << "���祭�� ������� " << (i + 1) << ": " << arra[i] << "; ��� ����: " << &arra[i] << '\n'; } int *heapPtr = new int; // �������᪨ �뤥�塞 ������ � ��� ��� 楫������ ��६����� � ��ᢠ����� �� ���� heapPtr *heapPtr = 7; // ��ᢠ����� �� ���祭�� std::cout << "\n���� ��६����� heapPtr, ᮧ������ � ���: " << heapPtr << '\n'; delete heapPtr; heapPtr = nullptr; int *arrPtr{nullptr}; size_t arrSize{5}; arrPtr = new (std::nothrow) int [arrSize]; // ����� �� �뤥����� �������� ����� ��� ���ᨢ� std::cout << '\n' << "���� � ���祭�� ������⮢ ���ᨢ� arrPtr, ᮧ������� � ���: " << '\n'; if (arrPtr) { /* ��ᢠ����� ���祭�� ������⠬ ��������� ���ᨢ� */ arrPtr[0] = 4; arrPtr[1] = 5; arrPtr[2] = 6; arrPtr[3] = 7; arrPtr[4] = 8; for(size_t i = 0; i < arrSize; ++i) {// �뢮��� �������� �१ loop for std::cout << "���祭�� ������� " << (i + 1) << ": " << arrPtr[i] << "; ��� ����: " << &arrPtr[i] << '\n'; } } if (arrPtr) {delete[] arrPtr; // �ᯮ��㥬 ��� ������ delete[] ��� ���ᨢ� ��� ��������� ����� arrPtr = nullptr;} // ᮧ��� ���� �⥩⬥�⮢, � ���� � ������� arrPtr, � ��� 㤠�塞 � ����塞 }