Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Billy_Milligan
1 / 1 / 1
Регистрация: 13.02.2016
Сообщений: 39
#1

Инициализация и определения переменных

17.02.2016, 14:10. Просмотров 218. Ответов 5
Метки нет (Все метки)

Здравствуйте. Проверьте, пожалуйста, правильно ли я понимаю эту тему. Я написал ответы в комментариях. По книге по которой я изучаю C++ нету ответов :/

Какие из этих инициализаций допустимы?
C++
1
2
3
4
5
6
7
int i=-1, &r=0; //f, простая ссылка r не может быть инициализирована литералом; i - ok.
const int i=-1, &r=0;//i - ok; r-ok, константная ссылка может быть инициализирована литералом.
const int *p1=&i2;//f, не объявлена ccылка i2.
const int i2=i, &r=i;//i2 -ok; r-ok, ссылка на константу инициализируется константным объектом.
int *const p2=&i2;//f, не объявлена ссылка i2.
const int *const p3=&i2;//f, не объявлена ссылка i2.
const int &const r2;//f, ссылка должна быть определена.

Какие из следующих определений недопустимы?
C++
1
2
3
4
5
int i, *const cp;// i -ok; cp - f, константный указатель нужно инициализировать.
int *p1,*const p2;//p1-ok; p2-ошибка, нужно инициализировать константный указатель.
const int ic, &r=ic;//f, нужно инициализировать переменную ic; r- ok.
const int *const p3;//f, нужно инициализировать конст. указатель p3.
const int *p;//ok, простую ссылку можно не инициализировать.
C учетом переменных из предыдущих упражнений, какие из следующих присвоений допустимы?
C++
1
2
3
4
5
6
i=ic;//f, i - константная переменная.
p1=p3;//ok, p1 - имеет адрес константого указателя p3.
p1=⁣//ok,p1 указывает на адрес ic.
p3=⁣//f, p3-константный указатель, не может изменять адрес.
p2=p1;//f, p2-констаный указатель, нельзя изменить адрес.
ic=*p3;//ok, можно ициализировать ic значением константного указателя.

Не по теме:

А можно ли такие темы с упражнениями и моими ответами для проверки создавать?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2016, 14:10
Ответы с готовыми решениями:

Инициализация переменных = || ()
Здравствуйте ,меня уже долгое время мучает вопрос ,в чем отличие такой...

Инициализация переменных
Всем доброго времени! У меня возникла проблемка, которая, вроде, простая, но ...

Инициализация переменных С++11
Форумчане, подскажите в чем существенная разница ставить знак равенства "=" или...

Структуры, инициализация переменных
Возможно ли как-либо реализовать такой концепт: Если что-то там, то структура...

Инициализация переменных в нуль
Здравствуйте. int g_iTest = NULL; Допустим. Это правильно,так в книгах...

5
Croessmah
++Ͻ
14375 / 8157 / 1534
Регистрация: 27.09.2012
Сообщений: 20,102
Записей в блоге: 3
Завершенные тесты: 1
17.02.2016, 15:05 #2
Billy_Milligan, не "раскрашивайте" текст вручную без необходимости.
Конкретно для Вашего случая (часть сообщения не по теме) имеется тег OFF,
соответствующая "кнопочка" также имеется над "полем ввода" сообщения,
при этом надпись "Не по теме" и оформление будут сделаны автоматически.
Ну и из недавних улучшений, плюшкой будет автоматическое "подсвечивание"
такого текста при наведении на него курсора

В редакторе:
[OFF]Мой текст[/OFF]
В сообщении будет выглядеть так:

Не по теме:

Мой текст

2
Billy_Milligan
1 / 1 / 1
Регистрация: 13.02.2016
Сообщений: 39
17.02.2016, 15:36  [ТС] #3
Croessmah, я понял свою ошибку
0
Babysitter
208 / 125 / 50
Регистрация: 23.11.2015
Сообщений: 368
Завершенные тесты: 2
17.02.2016, 15:55 #4
Цитата Сообщение от Billy_Milligan Посмотреть сообщение
const int &const r2;//f, ссылка должна быть определена.
а если я определю ее
C++
1
const int &const r2 = 2;
так нормально?
0
Billy_Milligan
1 / 1 / 1
Регистрация: 13.02.2016
Сообщений: 39
17.02.2016, 16:26  [ТС] #5
Babysitter, я не знаю, правильно ли написано, что после оператора & пишут const. Такое может быть?
В примерах, я встречался только с константным указателем *const

А так, только ссылка на константу может быть инициализирована литералом const int &r2=2;
0
Babysitter
208 / 125 / 50
Регистрация: 23.11.2015
Сообщений: 368
Завершенные тесты: 2
17.02.2016, 16:28 #6
Billy_Milligan, да, я к этому и вел. такое концептуально неверно, ссылка и так всегда указывает только туда, куда ей сказали при инициализации. из-за этого и существует запрет на неинициализированную ссылку.
0
17.02.2016, 16:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2016, 16:28

Матрица, инициализация переменных
Здравствуйте. Написала программу, которая должна в матрице в строках с...

Объявление и инициализация переменных
помогите исправить, пожалуйста.... Решение: #include <iostream.h> #include...

Инициализация глобальных переменных
Требуется инициализировать 2 массива и 2 переменные, которые используются в 2-х...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru