Форум программистов, компьютерный форум CyberForum.ru

Typedef - C++

Восстановить пароль Регистрация
 
iwsyhgia
1 / 1 / 0
Регистрация: 11.01.2014
Сообщений: 51
20.11.2014, 16:46     Typedef #1
Наткнулся на пример ниже:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
typedef char *cstring;
 
//Каков тип переменной cstr в следующем объявлении:
 
const cstring cstr;
 
//Ответ, который кажется очевидным:
 
const char *cstr
 
//Однако это неверно. Спецификатор const относится к cstr, поэтому правильный ответ – константный указатель на char:
 
char *const cstr;
Правильно ли я понимаю, что компилятор интерпретирует тип cstring как value-тип и поэтому const относится к содержимому ссылки?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2014, 16:46     Typedef
Посмотрите здесь:

typedef C++
typedef C++
typedef и vector C++
typedef в c++ C++
C++ Наследование typedef'a
Typedef C++
typedef C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mss307
118 / 118 / 25
Регистрация: 14.12.2013
Сообщений: 352
20.11.2014, 17:09     Typedef #2
я так понимаю, что cstring воспринимается как тип, а переменная этого типа становится const, и ее содержимое нельзя менять, т.е. указатель не может хранить другой адрес.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16833 / 5254 / 323
Регистрация: 30.03.2009
Сообщений: 14,145
Записей в блоге: 26
20.11.2014, 18:21     Typedef #3
const будет относиться к переменной, т.к., грубо говоря, const, грубо говоря, относится к справа стоящей ЯВНОЙ звёздочке или имени переменной. В твоём случае звёздочка неявная (спрятана в тип) cstring, а потому const относится к cstr, а не cstring

http://www.cyberforum.ru/blogs/18334/blog87.html

Добавлено через 43 секунды
Как уже заметил коллега, у тебя будет const-переменная cstr типа char*
Yandex
Объявления
20.11.2014, 18:21     Typedef
Ответ Создать тему
Опции темы

Текущее время: 06:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru