Re[3]: Статический поиск типа по адресу
От: Павел Кузнецов  
Дата: 14.02.04 14:13
Оценка: 15 (1)
Здравствуйте, _Winnie, Вы писали:

W> Вопрос: когда в C++ появится typeof ?


С хорошей вероятностью — в следующей версии языка (~2008). Среди адептов есть и
Страуструп: http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1527.pdf
Posted via RSDN NNTP Server 1.7 "Bedlam"
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[6]: Статический поиск типа по адресу
От: Шахтер Интернет  
Дата: 14.02.04 19:03
Оценка: 13 (1)
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Шахтер, Вы писали:


Ш>>Простейший пример, чего хотелось бы делать.

К>
Ш>>template <class Ptr>
Ш>>void fun(Ptr ptr)
Ш>> {
Ш>>  ...
  
Ш>>  typeof(*ptr) object=*ptr;
  
Ш>>  ...
Ш>> }
К>


К>Жалко ещё, что нельзя ещё вот так делать: my_vector.iterator v = my_vector.begin();

К>Потому что тогда с лёгкостью можно было бы определить макрос typeof
К>
К>template<class T>
К>struct typeview_t { typedef T type; };

К>template<class T>
К>typeview_t<T> typeview(T t) { return typeview_t<T>(); }

К>#define typeof(t) typeview(t).type
К>

К>Кстати, а есть какие-то смысловые преграды к этому, или просто не удосужились?

Не просто нет, а реализация этой фичи в компиляторе -- дело пустяковое. Потому что после того, как компилятор отпарзит выражение, он получит дерево операций, и, дальше, он должен пройтись по этому дереву и вычислить точные типы всех промежуточных и конечного результатов. Есть только одна проблема, это вопрос о ссылках.
здесь(спасибо Павлу за ссылку )
... << RSDN@Home 1.1.0 stable >>
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[7]: Статический поиск типа по адресу
От: Кодт Россия  
Дата: 15.02.04 01:44
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>Не просто нет, а реализация этой фичи в компиляторе -- дело пустяковое. Потому что после того, как компилятор отпарзит выражение, он получит дерево операций, и, дальше, он должен пройтись по этому дереву и вычислить точные типы всех промежуточных и конечного результатов. Есть только одна проблема, это вопрос о ссылках.


А в чём эта проблема состоит?
... << RSDN@Home 1.1.2 stable >>
Перекуём баги на фичи!
Re[8]: Статический поиск типа по адресу
От: Павел Кузнецов  
Дата: 15.02.04 07:24
Оценка:
Здравствуйте, Кодт, Вы писали:

К> А в чём эта проблема состоит?


В том, что будет давать применение typeof/decltype к ссылке типа T&: T или T&.
http://rsdn.ru/Forum/Message.aspx?mid=503315#503315
Автор: Павел Кузнецов
Дата: 12.01.04
Posted via RSDN NNTP Server 1.7 "Bedlam"
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re: Статический поиск типа по адресу
От: MaximE Великобритания  
Дата: 17.02.04 22:25
Оценка:
_Winnie wrote:

> Вот есть такой шаблон, который отображает каждый тип в уникальное число (адрес статической переменной)

>
>
> template <class T>
> struct TypeToX
> {
>   static char c;
> };
>
>


Только вот небольшая незадача: это "уникальное число" невозможно узнать в compile-time и оно может различаться между запусками программы.

--
Maxim Egorushkin
MetaCommunications Engineering
http://www.meta-comm.com/engineering/
Posted via RSDN NNTP Server 1.8 beta
Re[2]: Статический поиск типа по адресу
От: Кодт Россия  
Дата: 18.02.04 08:33
Оценка:
Здравствуйте, MaximE, Вы писали:

ME>Только вот небольшая незадача: это "уникальное число" невозможно узнать в compile-time и оно может различаться между запусками программы.


Хотя в каких-нибудь временных таблицах может пригодиться. (Но эти таблицы нельзя сериализовывать!)
Перекуём баги на фичи!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.