![]() |
Перечитывая учебники.
Начал тут читать Страуструпа, дабы повысить общий уровень, очень удивился, когда в первом же упражнении нашел задачу, с которой не смог справиться. Вроде не 1 год писал, правда мелкие задачи и эпизодически.
Итак люди вопрос вам. Как выглядит определение ссылки на масив из 10 целых? Указатель понятно, ссылка на целое понятно. Ссылка на массив непонятно. Как-то всегда без подобного обходился, очень интерестно. Попробовал 10-ок вариантов, ни один не был пропущен компилятором. Помогите теперь вы. |
Ну если...
int a[10]; int *b=a; ...то b и будет ссылкой на этот массив, впрочем и как само a. Указатель не может содержать информации о количестве элементов массива. Можно только судить о размере элемента массива исходя из типа указателя. |
Ты путаешь ссылку с указателем. Я спросил про ссылку.
Впрочем я только что прочитал задание снова, там написано ссылки на массив из 10 целых. Так что ссылки на элементы тоже будут ответом, проблемма в том, что их мне написать тоже не удается. |
Кажется понял что тебе надо...
typedef int mas[10]; mas a; a[0]=5; // для примера mas &b=a; cout << b[0]; ...выдает 5 |
Про переопределение типов я не подумал!!!
Мысль супер:) Еще вариант int (&a)[10] и все ок:) |
А какой смысл твоего последнего варианта? Ссылка ведь должна все-таки на что-то другое ссылаться. А такая запись только ради самой себя получается.
|
Не, я просто не дописал
int a[10]; int (&b)[10]=a; На руборде подсказали. |
| Часовой пояс GMT +4, время: 19:59. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.