Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / const и указатели / 3 сообщений из 3, страница 1 из 1
21.05.2015, 09:25
    #38964841
const и указатели
Пусть есть код:

Код: plaintext
1.
2.
3.
int * pn;
const int * pn2 = pn; // так можно
const int ** ppn = &pn; // а так уже нет, надо руками приводить тип



По логике, если у меня есть не const переменная, то я могу передавать её через указатели как const переменную, и не важно через сколько указателей. Однако Си, видимо, думает иначе - через один указатель можно, а через два уже нет. Почему?
...
Рейтинг: 0 / 0
21.05.2015, 10:53
    #38964953
RWolf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
const и указатели
Пронумерованный пацак,

Код: plaintext
1.
const int * const * ppn = &pn;
...
Рейтинг: 0 / 0
21.05.2015, 13:17
    #38965199
Barlone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
const и указатели
Пронумерованный пацакПусть есть код:

Код: plaintext
1.
2.
3.
int * pn;
const int * pn2 = pn; // так можно
const int ** ppn = &pn; // а так уже нет, надо руками приводить тип



По логике, если у меня есть не const переменная, то я могу передавать её через указатели как const переменную, и не важно через сколько указателей. Однако Си, видимо, думает иначе - через один указатель можно, а через два уже нет. Почему?Причем тут const? Указатель на целое и указатель на указатель - разные типы.

Код: plaintext
1.
2.
3.
int * pn;
const int * pn2 = pn;
const int ** ppn = &pn2; //вот так...
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / const и указатели / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]