Объектно-ориентированное программирование
Операция получения адреса &
Переменные указатели
Особенности указателей
Доступ к переменной по указателю
Доступ к переменным через указатели
Указатель на void
Указатели и массивы
Указатели и массивы
Работа с указателями
Передача простой переменной
Передача массивов
Передача массивов
Указатели на строковые константы
Копирование строк с использованием указателей
Модификатор const и указатели
Управление памятью: операции new и delete
Операции new и delete внутри класса
Указатели на объекты
Массив указателей на объекты
Классы, содержащие сами себя
1.07M
Category: programmingprogramming

Адреса и указатели

1. Объектно-ориентированное программирование

Адреса и указатели

2. Операция получения адреса &

Операция получения адреса &
2

3. Переменные указатели

Далее в программе определена переменная-указатель в строке
int* ptr; //указатель на int
char* cptr; // указатель на символьную переменную
int* iptr; // указатель на целую переменную
float* fptr; // указатель на вещественную переменную
Distance* distptr; // указатель на переменную класса Distance
3

4. Особенности указателей

char *charptr;
char* ptr1, * ptr2, * ptr3;
char *ptr1, *ptr2, *ptr3;
4

5. Доступ к переменной по указателю

5

6. Доступ к переменным через указатели

int v; //
int* р; //
р = &v; //
переменной
v = 3; //
*р = 3; //
определим переменную v типа int
определим переменную типа указатель на int
присвоим переменной р значение адреса
v
присвоим v значение 3
сделаем то же самое, но через указатель
float flovar = 98.6;
int* ptrint = &flovar; // Так нельзя; типы int* и
float* несовместимы
6

7. Указатель на void

7

8. Указатели и массивы

8

9. Указатели и массивы

9

10. Работа с указателями

10

11. Передача простой переменной

11

12. Передача массивов

12

13. Передача массивов

13

14. Указатели на строковые константы

14

15. Копирование строк с использованием указателей

15

16. Модификатор const и указатели

const int* cptrInt; // указатель на константу
int* const ptrcInt; // константный указатель
16

17. Управление памятью: операции new и delete

ptr = new SomeClass; // создаем один объект
delete ptr;
// скобок не требуется
17

18. Операции new и delete внутри класса

18

19. Указатели на объекты

distptr.getdist ( );
// так нельзя: distptr не просто переменная
(*distptr).getdist ( ); // так можно: разыменование указателя это
переменная
distptr->getdist ( ); // лучший вариант
Distance& dist = *( new Distance ); // создаем объект типа Distance
dist.getdist ( ); // доступ к членам класса осуществляем через оператор "."
19

20. Массив указателей на объекты

20

21. Классы, содержащие сами себя

Отладка указателей
Указатели могут быть источником таинственных и катастрофических ошибок
программы.
21
English     Русский Rules