Vampirrr
O_o
offline
Опыт:
19,286Активность: |
Linked List
Народ, есть ли вообще возможность создать linked list в VJass..Лично у меня нет даже малейшей идеи, как это может быть выолнено не используя поинетры( |
13.06.2010, 01:13 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Pray_AD
stay in c++
offline
Опыт:
7,145Активность: |
Раз он упомянул про пойнтеры (Pointer в программировании - ссылка в память компьютера на переменную, через которую можно получить непосредственный доступ (в паскале a: type; p: ^ type <- типизированный pointer; a:=1000 то же самое что p^:=1000 (Обе переменные указывают на одну ячейку памяти) Нужно что-то вроде этого? |
13.06.2010, 10:46 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XOR
offline
Опыт:
38,159Активность: |
|
13.06.2010, 12:16 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Pray_AD
stay in c++
offline
Опыт:
7,145Активность: |
А вообще в VJass есть работа с Pointer?
Pray_AD добавил: Вообще pointer открывает огромные возможности, такие, как замена используемой переменной в процессе выполнения кода и все из этого вытекающее, неопределенный тип переменной, думаю в Jass такого нет к сожалению... |
13.06.2010, 12:21 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XOR
offline
Опыт:
38,159Активность: |
Нет |
13.06.2010, 12:29 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
структуры в vjass передаются как ссылки |
13.06.2010, 16:09 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Pray_AD
stay in c++
offline
Опыт:
7,145Активность: |
ScorpioT1001, а к самим ссылкам доступ есть, т.е изменение самого указателя? или только к тому, на что они ссылаются? |
13.06.2010, 16:10 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
есть, это просто int - индекс в параллельном массиве
ScorpioT1001 добавил:
смысла в конструкциях типа двусвязных списков итп нету ScorpioT1001 добавил: в варе т.е. |
13.06.2010, 16:31 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vampirrr
O_o
offline
Опыт:
19,286Активность: |
дада..я сам думаю, что нету никакого смысла создавать подобное в варе, но все же захотелось уточнить, возможно ли это) но имхо, а если бы return bug не убрали, было бы наверное возможно вернуть ячейку памяти, отданную под структуру? |
13.06.2010, 18:17 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SRes
1110101000
offline
Опыт:
9,997Активность: |
Структура в варе - параллельный массив, а значит никакой структуры и нету, это симуляция, нельзя вернуть ячейку выделенную под структуру, потому-что ее нет, если попробовать H2I "ссылку" на структуру, то выйдет фейл, т.к. ссылкой является integer, который просто сообщает номер структуры. Максимум что ты можешь выжать из "ссылки" - адрес ее в памяти, т.е. адрес integer'а. В варе сами элементы "структуры" рандомно раскиданы по памяти, а в действительности элементы идут по очереди, т.е. если получить адрес первого элемента в структуре - это не даст ни малейшего представления о ссылке на второй\третий\... элемент. |
13.06.2010, 18:54 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vampirrr
O_o
offline
Опыт:
19,286Активность: |
SRes, сэнк ю кэп -_- я уже выкурил мануал по VJass (а именно часть о компиляции структур из VJass в Jass)
SRes:
умгу, оно самое..но после патча 1.24 это стало невозмножным, если я ничего не упустил..
Vampirrr добавил: Лан, я думаю темку можно прикрыть) Моя любопытность была удовлетворена) |
13.06.2010, 19:06 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
можно даже avl-дерево сделать если постараться -.- |
14.06.2010, 10:01 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|