crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

mezmay
  опции профиля:
сообщение 19.7.2011, 11:11
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 272
Регистрация: 13.7.2009
Из: Ростов-на-Дону
Пользователь №: 904

Спасибо сказали: 16 раз(а)




Репутация:   1  


Есть 2 шаблона классов. Как сделать так чтобы они оба содержали указатели друг на друга и работали с этими указателями? В случае когда каждый шаблон полностью описан в заголовочном файла это сделать я так понял невозможно
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Iron Bug
  опции профиля:
сообщение 20.7.2011, 7:54
Сообщение #2


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


Цитата(Алексей1153 @ 20.7.2011, 8:56) *
получается, что у компилятора не будет информации, на какой именно класс указывает указатель. Как же он будет раскрывать разыменование?

в общем случае, на уровне темплейтов такого контроля нет. когда собирается готовый проект, тогда компилятор по конкретному случаю уже смотрит, что и как. сам по себе темплейт такой встроенной проверки не содержит.

однако, есть техника SFINAE. можно указывать требуемые свойства класса. но не все компиляторы это поддерживают, насколько я знаю. про SFINAE много написано (например, тут можно посмотреть примеры: http://stackoverflow.com/questions/257288/...ions-existence).

ещё есть специализация темплейтов (ref) - когда для каждого параметра можно указать отдельное решение (например, можно почитать здесь: http://msdn.microsoft.com/en-us/magazine/cc163754.aspx).

кроме того, можно использовать страндартную проверку RTTI.

Сообщение отредактировал Iron Bug - 20.7.2011, 7:59
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 30.6.2025, 12:58