Similar presentations:
Адреса и указатели
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. Доступ к переменной по указателю
56. Доступ к переменным через указатели
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
78. Указатели и массивы
89. Указатели и массивы
910. Работа с указателями
1011. Передача простой переменной
1112. Передача массивов
1213. Передача массивов
1314. Указатели на строковые константы
1415. Копирование строк с использованием указателей
1516. Модификатор const и указатели
const int* cptrInt; // указатель на константуint* const ptrcInt; // константный указатель
16
17. Управление памятью: операции new и delete
ptr = new SomeClass; // создаем один объектdelete ptr;
// скобок не требуется
17
18. Операции new и delete внутри класса
1819. Указатели на объекты
distptr.getdist ( );// так нельзя: distptr не просто переменная
(*distptr).getdist ( ); // так можно: разыменование указателя это
переменная
distptr->getdist ( ); // лучший вариант
Distance& dist = *( new Distance ); // создаем объект типа Distance
dist.getdist ( ); // доступ к членам класса осуществляем через оператор "."
19
20. Массив указателей на объекты
2021. Классы, содержащие сами себя
Отладка указателейУказатели могут быть источником таинственных и катастрофических ошибок
программы.
21