Здравствуйте, Андрей Тарасевич, Вы писали:
АТ>Здравствуйте, Аноним, Вы писали:
А>>А>> class SomeClass {
А>> Msg * const createMessage() const;
А>> };
А>>
А>>icc выругался, что "const" бесполезен здесь,
А>>почему?
АТ>Хмм... А почему и как он может быть полезен? Эта функция возвращает rvalue типа 'Msg*'. Квалификатор 'const' не имеет смысла применять к rvalue не-класс типов. Rvalue не-класс типов и так не являются изменяемыми. Поэтому хоть прилепляй к ним 'const' хоть не прилепляй — разницы никакой не будет.
После ответа(спасибо), я понял что хотел спросить,
цель не дать модифицировать адресс:
int a;
int * const p = &a;
++p;//<-ошибка компиляции
Почему такое можно
int a;
int * const p = &a;
int *v = p;//<- не ошибка