Константный указатель | Обучение программированию онлайн

Опубликовано: 01.09.2018

видео Константный указатель | Обучение программированию онлайн

C++ указатели Константный указатель
Категория: C++    Добавлен: 9 августа 2013

Решил я рассмотреть константный указатель, так как видел на форумах много вопросов по этой теме. Ну что ж, начнем наш урок)



Ключевое слово const вместе с указателями может использоваться в трех случаях:

— мы хотим объявить указатель на константу;

— мы хотим объявить константный указатель;

— мы хотим объявить константный указатель на константу. Итак, рассмотрим по порядку.

Указатель на константу.


Константные аргументы функции. Константный указатель. Константные параметры. Для начинающих Урок #57

const int *ptr;

Так оператор разыменования можно ставить рядом с переменной, с типом или вообще посередине, я решил поставить рядом с переменной ptr для наглядности и теперь эта запись означает следующее: ptr является указателем, который ссылается на const int. Теперь для нашего примера мы создадим переменную t и затем ее адрес запишем в указатель ptr.


Указатели на константы и константные указатели

const int *ptr; int t = 999; ptr = &t;

Теперь, если мы попытаемся изменить косвенно значение переменной t, получим ошибку.

const int *ptr; int t = 999; ptr = &t; // *ptr = 777; Ошибка!!!

Также не изменится смысл, если const поставить справа от int.

int const *ptr2; ptr2 = &t; // *ptr2 = 777; Ошибка!!!

Мы не можем изменять значение переменной через указатель, но само значение указателя мы можем менять. То есть нашему указателю можем присвоить адрес другой переменной.

Константный указатель.

Теперь, если мы хотим запретить изменение значения указателя, мы должны записать в следующем виде.

int *const ptr3 = &t;

При создании указателя мы присваиваем адрес переменной, который не можем меняться в дальнейшем. Но значение самой переменной через указатель мы можем менять.

int *const ptr3 = &t; *ptr3 = 888; int t2 = 9876; //ptr3 = &t2; Ошибка!!!

И теперь рассмотрим третий вариант.

Константный указатель на константу.

В этом случае мы не можем менять ни значение переменной через указатель, ни значение самого указателя.

const int *const ptr4 = &t; //*ptr4 = 555; Ошибка!!! //ptr4 = &t2; Ошибка!!

И теперь полный код программы.

#include <iostream> using namespace std; void main() { //Указатель на константу const int *ptr; int t = 999; ptr = &t; // *ptr = 777; Ошибка!!! int const *ptr2; ptr2 = &t; // *ptr2 = 777; Ошибка!!! cout<<t<<endl; cout<<*ptr2<<endl; //Константный указатель int *const ptr3 = &t; *ptr3 = 888; cout<<t<<endl; int t2 = 9876; //ptr3 = &t2; Ошибка!!! //Константный указатель на константу const int *const ptr4 = &t; //*ptr4 = 555; Ошибка!!! //ptr4 = &t2; Ошибка!! }

Вы можете оставить комментарий ниже.

3D стерео фильмы для 5D
    Как купить билеты на поезд

    Я всегда в последнее время пользуюсь услугами настоящего интернет сайта. Он у меня внушает доверие. И здесь придбати квитки возможно в любое

    Begin.com.ua/
    Подбором персонала занимается HR-менеджер, но часто такая должность отсутствует в компании, и его обязанности берут на себя или директор, или его заместитель. Если выбор сотрудников окажется неправильным 

    Бесплатная раскрутка сайтов ucoz
    Необходимо для себя выяснить, какая цель преследуется при раскрутке Интернет проекта. Здесь всё просто, так как чаще всего это возможность при помощи различных способов и средств увеличить поток посетителей.

    Шкафы купе
    Не смотря на то, что такой вид мебели как шкаф-купе появился относительно недавно, он уже успел завоевать сердца многочисленных поклонников. Несомненно, шкаф-купе очень вместительный и прекрасно вписывается

    Где купить качественные ссылки
    Большинство информации предлагаемой для изучения информации по продвижению ресурсов, непременно во главу угла ставят использование в интернет ресурсах качественного, уникального контента. Также для продвижения

    Товаров для дома
    Исходя из этих критериев, можно легко преподнести себя в том или ином деле. Хороший доход может быть на любой работе. Но хороших друзей на рабочем месте выбрать сложно. В такой ситуации больше побеждает

    Поступления в университет
    Перед всеми выпускниками школ и их родителями сейчас стоит задача – выбор предметов единого государственного экзамена (ЕГЭ). От того, какие ЕГЭ будут выбраны, зависит, поступит ребенок в ВУЗ или нет.

    Видеонаблюдение Novicam в Екатеринбурге
    По своей сути подключение видеорегистратора к локальной сети совершенно не отличается от подключения обычного компьютера к локальной сети.  Для того что бы система видеонаблюдения начала функционировать

    Кредит онлайн на картку
    Каждый из нас может оказаться в такой ситуации, когда срочно нужны деньги. И что же делать, если деньги понадобились прямо здесь и сейчас. В различных кредитных организациях оформление кредита может занять

    Комплект инсталляции Grohe 6в1
    Вместо обычного унитаза многие люди предпочитают, чтобы было сочетание инсталлированной конструкции унитаза с определенным видом отделки. Особенно такая инсталляция включают в себя раму, которая покрыта

rss