Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Массив ссылок? Нельза или можно? странное задание препода. 
V
    Опции темы
IvanoffAndrey
Дата 8.9.2007, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 8.7.2006
Где: СГАУ

Репутация: нет
Всего: 2



Здравствуйте участники форума.
Вот столкнулся с довольно странноватым заданием на лабораторную:
Написать контейнер: циклическую очередь.(с этим проблем нет).
Написать итераторы к контейнеру. (то же не вопрос)
Однако в задании маленькая пометочка: 
Способ хранения данных: ссылки на объекты.
Структура данных: Динамический массив.
Вот такая астролябия, вообще не понимаю как это в массив ссылки запихнуть. Может у кого есть варианты (хотя по Страуструпу их быть не может)?
Возникла одна идея: написать своеобразные обертки для ссылок и их помещать уже в массив. Однако думаю это не особо оцент преподаватель. Кто что думает?

--------------------
Размерность пространства есть число Pi и в каждой точке вселенной оно стремиться к этому числу.
PM MAIL   Вверх
zkv
Дата 8.9.2007, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 26
Всего: 92



тут глянь

Добавлено через 35 секунд
ближе к концу.
PM MAIL   Вверх
Любитель
Дата 8.9.2007, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 24
Всего: 92



Хранишь, естественно, указатели. Если надо - можешь возвращать/принимать ссылки.

ИМХО просто неточная формулировка.


--------------------
PM MAIL ICQ Skype   Вверх
IvanoffAndrey
Дата 8.9.2007, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 8.7.2006
Где: СГАУ

Репутация: нет
Всего: 2



Цитата

ближе к концу. 

Если честно пролистал не нашел как в массив запихнуть ссылки.
Цитата

ИМХО просто неточная формулировка. 

Вот это скорее всего, блин.
Однако, кто-нибудь может объяснить почему не прокатывает наверное наивная конструкция
Код

int *array=new int&[3]  :smile 

--------------------
Размерность пространства есть число Pi и в каждой точке вселенной оно стремиться к этому числу.
PM MAIL   Вверх
Xenon
Дата 8.9.2007, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 11
Всего: 50



А ссылка должна быть иницилизирована на этапе компиляции.


--------------------
user posted image  
PM MAIL   Вверх
archimed7592
Дата 8.9.2007, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(IvanoffAndrey @  8.9.2007,  18:10 Найти цитируемый пост)
Возникла одна идея: написать своеобразные обертки для ссылок и их помещать уже в массив. Однако думаю это не особо оцент преподаватель. Кто что думает?

Может и оценит, если ты сделаешь невозможное, а именно - сможешь менять ссылку после инициализации(как указатель).
А сама обёртка уже давно написана и даже, в ближайшем будущем станет частью языка(точнее стандартной библиотеки). См. reference_wrapper, boost::ref, TR1.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
UnrealMan
Дата 8.9.2007, 21:53 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 722
Регистрация: 30.3.2006

Репутация: 27
Всего: 32



Цитата(IvanoffAndrey @ 8.9.2007,  19:33)
Однако, кто-нибудь может объяснить почему не прокатывает наверное наивная конструкция
Код

int *array=new int&[3]  :smile 

Стандарт C++ не разрешает использовать смайлы в коде smile
PM MAIL   Вверх
Любитель
Дата 8.9.2007, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 24
Всего: 92



Цитата(UnrealMan @  8.9.2007,  21:53 Найти цитируемый пост)
Стандарт C++ не разрешает использовать смайлы в коде

Да. Для их использования придётся вначале обрабатывать код специальным смайл-препроцессором. smile


--------------------
PM MAIL ICQ Skype   Вверх
Greeen
Дата 8.9.2007, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 710
Регистрация: 13.8.2006
Где: Петербург

Репутация: 7
Всего: 18



Цитата(UnrealMan @  8.9.2007,  21:53 Найти цитируемый пост)
Стандарт C++ не разрешает использовать смайлы в коде smile 

будет разрешено в стандарте C++09  smile 


--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
Любитель
Дата 8.9.2007, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 24
Всего: 92



Цитата(Greeen @  8.9.2007,  22:04 Найти цитируемый пост)
будет разрешено в стандарте C++09

Вряд ли. Фича не настолько тривиальная (при творческом подходе smile ), а в черновике стандарта этого нет :( Наверно, всё-таки в следующем стандарте...


--------------------
PM MAIL ICQ Skype   Вверх
powerfox
Дата 8.9.2007, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 97



Цитата(IvanoffAndrey @  8.9.2007,  19:33 Найти цитируемый пост)
int *array=new int&[3]  smile 

Код

int& array[]={num1,num2,num3};

Может, какой левый компилятор и поддерживает такое. 


--------------------
user posted image
PM WWW   Вверх
IvanoffAndrey
Дата 9.9.2007, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 8.7.2006
Где: СГАУ

Репутация: нет
Всего: 2



Цитата

А ссылка должна быть иницилизирована на этапе компиляции. 

Не совсем верно, так как использую ключевое слово extern можно отложить инициализацию ссылки. 
Цитата

Стандарт C++ не разрешает использовать смайлы в коде smile 

Ничего подобного, разрешает:
Код

int A(1); // :))) Хватит оффтопить. :)))))

--------------------
Размерность пространства есть число Pi и в каждой точке вселенной оно стремиться к этому числу.
PM MAIL   Вверх
UnrealMan
Дата 9.9.2007, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 722
Регистрация: 30.3.2006

Репутация: 27
Всего: 32



Цитата(IvanoffAndrey @  9.9.2007,  09:27 Найти цитируемый пост)
Ничего подобного, разрешает:

Я не считаю комментарий кодом.

По поводу массивов ссылок стандарт говорит следующее:

Цитата(ISO/IEC 14­882:2003(E) §8.3.2 References)
There shall be no references to references, no arrays of references, and no pointers to references.


а по поводу new-expressions -

Цитата(ISO/IEC 14­882:2003(E) §5.3.4 New)
[Note: because references are not objects, references cannot be
created by new-expressions. ]

PM MAIL   Вверх
archimed7592
Дата 9.9.2007, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Xenon, нет конечно smile. Её точно так же придётся инициализировать в другом(или в том же) модуле.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Xenon
Дата 9.9.2007, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 11
Всего: 50



Ну вот и я о том же smile


--------------------
user posted image  
PM MAIL   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0578 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.