Добавил:
AlexKon
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:ЯП4 / ЯП4
.cpp#include <iostream>
using namespace std;
int sum(int a, int b)
{
return a + b;
}
int main()
{
setlocale(LC_ALL, "Russian");
//типизированный указатель
int a = 10;
int* ukaz = &a;
cout << ukaz; //адрес переменной
cout << "\n";
cout << *ukaz; // значение переменной
//нетипизированный указатель
cout << "\t";
void* ukaz2 = &a;
cout << ukaz2; //адрес переменной
//указатель на метод
cout << "\n";
int (*func_ptr)(int, int) = sum;
cout << "Сумма:" << (*func_ptr)(2, 3) << "\n";
// разница между указателем и объектом указателя
int num1 = 10;
int num2 = 5;
int* ukrf1 = &num1;
int* ukrf2 = &num2;
cout << num1 << "\t" << num2 << "\n";
cout << ukrf1 << "\t" << ukrf2 << "\n";
cout << *ukrf1 << "\t" << *ukrf2 << "\n";
*ukrf1 = *ukrf2;
if (ukrf1 == ukrf2)
{
cout << "Указатели совпадают" << "\n";
}
else cout << "Разные указатели" << "\n";
if (*ukrf1 == *ukrf2)
{
cout << "Объекты совпадают" << "\n";
}
//указатель константа и указатель на константу
int numb1 = 10;
int numb2 = 5;
int* const p1 = &numb1; //
*p1 = 653; //меняем значение
const int* p2 = &numb1;
p2 = &numb2; // меняем адрес
//многоуровневый указатель
int number = 10;
int* pc = &number;
int** ppc = &pc;
int*** pppc = &ppc;
cout << *pc << "\t";
cout << **ppc << "\t";
cout << ***pppc << "\t";
//разница между указателями и ссылками
int n = 10;
int& link = n;
int k = 10;
int* show = &k;
return 0;
}