Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 26.06.2013, 20:31   #1
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Веселый Handle

Type my_type
Field a
End Type

For i=0 To 5
mt.my_type = New my_type
mt\a=i
a=Handle(mt)
Print a
Next

Print "-------------"

For i=1 To 6
mv.my_type= Object.my_type(i)
Print mv\a
Next
До недавнего времени я думал, что функция handle тупо возвращает ссылку на тип. Но как оказалось это не совсем так. Не знаю, что она делает, но без нее применить object к типу нельзя в принципе. Хотя сам по себе хендл - это элементарный порядковый номер. WTF? Попробуйте закомментировать a=Handle(mt).
(Offline)
 
Ответить с цитированием
Старый 26.06.2013, 22:09   #2
Platon
Знающий
 
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений
(для 70 пользователей)
Ответ: Веселый Handle

Это ключ хеш-таблицы.
Handle добавляет экземпляр в таблицу используя порядковый номер как ключ, Object.Type соответственно ищет экземпляр в таблице по номеру-ключу. Скорее всего внутри оно реализовано с помощью С++ std::map, а оно в свою очередь алгоритмом red-black tree
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо Platon за это полезное сообщение:
Кирпи4 (27.06.2013), Gector (26.06.2013), St_AnGer (27.06.2013)
Старый 26.06.2013, 22:20   #3
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Веселый Handle

Сообщение от Platon Посмотреть сообщение
Это ключ хеш-таблицы.
Handle добавляет экземпляр в таблицу используя порядковый номер как ключ, Object.Type соответственно ищет экземпляр в таблице по номеру-ключу. Скорее всего внутри оно реализовано с помощью С++ std::map, а оно в свою очередь алгоритмом red-black tree
Как то не задумывался раньше).
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com