imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 30.03.2006, 15:15     # 1
strah
Member
 
Регистрация: 16.10.2002
Адрес: Moscow
Сообщения: 312

strah Молодецstrah Молодецstrah Молодец
Перечитывая учебники.

Начал тут читать Страуструпа, дабы повысить общий уровень, очень удивился, когда в первом же упражнении нашел задачу, с которой не смог справиться. Вроде не 1 год писал, правда мелкие задачи и эпизодически.

Итак люди вопрос вам.
Как выглядит определение ссылки на масив из 10 целых?
Указатель понятно, ссылка на целое понятно.
Ссылка на массив непонятно. Как-то всегда без подобного обходился, очень интерестно. Попробовал 10-ок вариантов, ни один не был пропущен компилятором. Помогите теперь вы.
strah вне форума  
Старый 30.03.2006, 15:32     # 2
ЕЖ
::VIP::
 
Регистрация: 19.03.2004
Сообщения: 1 329

ЕЖ Бог с наворотамиЕЖ Бог с наворотами
ЕЖ Бог с наворотамиЕЖ Бог с наворотами
Ну если...

int a[10];
int *b=a;

...то b и будет ссылкой на этот массив, впрочем и как само a. Указатель не может содержать информации о количестве элементов массива. Можно только судить о размере элемента массива исходя из типа указателя.
ЕЖ вне форума  
Старый 30.03.2006, 15:35     # 3
strah
Member
 
Регистрация: 16.10.2002
Адрес: Moscow
Сообщения: 312

strah Молодецstrah Молодецstrah Молодец
Ты путаешь ссылку с указателем. Я спросил про ссылку.
Впрочем я только что прочитал задание снова, там написано ссылки на массив из 10 целых. Так что ссылки на элементы тоже будут ответом, проблемма в том, что их мне написать тоже не удается.

Последний раз редактировалось strah; 30.03.2006 в 15:37.
strah вне форума  
Старый 30.03.2006, 15:51     # 4
ЕЖ
::VIP::
 
Регистрация: 19.03.2004
Сообщения: 1 329

ЕЖ Бог с наворотамиЕЖ Бог с наворотами
ЕЖ Бог с наворотамиЕЖ Бог с наворотами
Кажется понял что тебе надо...

typedef int mas[10];
mas a;
a[0]=5; // для примера
mas &b=a;
cout << b[0];

...выдает 5
ЕЖ вне форума  
Старый 30.03.2006, 16:25     # 5
strah
Member
 
Регистрация: 16.10.2002
Адрес: Moscow
Сообщения: 312

strah Молодецstrah Молодецstrah Молодец
Про переопределение типов я не подумал!!!
Мысль супер

Еще вариант int (&a)[10] и все ок
strah вне форума  
Старый 30.03.2006, 16:50     # 6
ЕЖ
::VIP::
 
Регистрация: 19.03.2004
Сообщения: 1 329

ЕЖ Бог с наворотамиЕЖ Бог с наворотами
ЕЖ Бог с наворотамиЕЖ Бог с наворотами
А какой смысл твоего последнего варианта? Ссылка ведь должна все-таки на что-то другое ссылаться. А такая запись только ради самой себя получается.
ЕЖ вне форума  
Старый 30.03.2006, 16:58     # 7
strah
Member
 
Регистрация: 16.10.2002
Адрес: Moscow
Сообщения: 312

strah Молодецstrah Молодецstrah Молодец
Не, я просто не дописал
int a[10];
int (&b)[10]=a;

На руборде подсказали.
strah вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 18:27.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.