Указатели для начинающих (Pointers) - Вывод
ОГЛАВЛЕНИЕ
Вывод
Данная тема очень сложна для понимания, потому вам стоит уделить ей немало внимания. Многие люди не понимают ее с первого раза, поэтому мы ещё раз приведем основные идеи:
1. Указатели - это переменные, которые указывают на область в памяти. Указатели объявляются посредством символа (*) перед названием переменной (int *number).
2. Вы можете получить адрес любой переменной добавив амперсанд (&) перед ней, то есть pNumber = &my_number.
3. Символ звездочки, если он не поставлен в объявлении (к примеру так int *number), должен читаться как "область памяти, на которую указывает".
4. Амперсанд, если не указан в определении (к примеру так int &number), читается как "по адресу".
5. Вы можете распределять память посредством ключевого слова new.
6. Указатели должны быть такого же типа, как и переменные, на которые они будут ссылаться; поэтому, int *number не будет указывать на MyClass.
7. Указатели можно передавать функциям.
8. Память необходимо освобождать используя ключевое слово delete.
9. Вы можете создать указатель на массив, который уже существует, посредством написания &array[0];.
10. Необходимо удалить массив, который был динамически распределен, посредством оператора delete[], а не просто delete.
Данная статья не является полноценным гидом по указателям - существуют другие вещи, которые также можно было обсудить в деталях, такие, например, как указатели на указатели, или те вещи, которые не стоит упоминать вообще, такие как указатели функций, что слишком сложно для начинающих. Новичкам мы рекомендуем попробовать приведенные примеры и набраться опыта в использовании указателей.
Автор: Andrew Peace