Я нашел const
правил в c, чтобы быть очень запутанным. Я хочу знать, существуют ли известные правила или способ узнать, что разрешено при работе с const
/указателями на const
.Правила const: что разрешено, а что нет?
я дам exmple:
Не допускается:
const int b=3;
int * const a=&b;
Разрешенные:
int b=3;
int * const a=&b;
Существуют ли правила, чтобы знать до компиляции, если код, который содержит const
компилируется? Одна вещь, о которой я говорю, - и я хочу знать, является ли это правилом - каждый раз, когда вы пишете строку с const
, всегда ли нужно ее инициализировать? Я знаю, что существует некоторое правило о том, что const
может/не может содержать.
В чем проблема? Вы можете преобразовать 'T *' в 'U *' iff 'U' - это равная или более CV-квалифицированная версия' T'. –
-1. Вы можете разумно ожидать, что правильно произнесите единственное важное слово в своем вопросе. – djechlin
'int * const' является постоянным указателем на переменную int, вы, похоже, ищете переменную указателя на константу int (' const int * 'или' int const * ') или указатель константы на константу int ('const int * const'). – Kevin