![]() |
Переход с массивов на векторы
Часто встречав советы по использованию векторов вместо массивов для увеличения производительности решил перейти с массивов на векторы.
Заметил, что манипуляции с векторами, по сравнению с массивами, - это страшный геморрой: Создать новый массив: var ar:Array=[] Создать новый вектор: var v:Vector.<uint>=new Vector.<uint>(); Создать новый массив с заданными значениями элементов: var ar:Array=[1,2,3] Создать новый вектор с заданными значениями элементов: var v:Vector.<uint>=new <uint>[1,2,3]; Ладно, с созданием можно смириться, код печатать пальцы не отсохнут, но перейдём к обнулению. Как замечательно и лакончино всё делается с массивом: ar=[], и в четыре раз длиннее код для вектора: v=new Vector.<uint>(), при том, что меня терзают сомнения в том, что это лучший способ обнуления вектора. Идею двумерных векторов я и подавно оставил - там, где, используя массив, можно было лакончино написать ar=[[],[],[]], для вектора приходится строчить целый роман! Всё моё нытьё, видимо, с непривычки и от незнания, хотя почитал справку, форум, попробовал на практике. Поэтому посоветуйте, пожалуйста, есть ли способы такого же лаконичного объявления и обнуления векторов, как в случае с массивами? |
Присвоение нового массива это не обнуление.
Код AS3:
Код AS3:
Я вам больше скажу - в вектор нельзя пихать разнородные данные, только однонтипные. Так что это совсем страшная штука, не надо их использовать ;) |
Цитата:
Цитата:
Код AS3:
|
Код AS3:
Вектор быстрее работает только с типизированными данными. Если пихать в него нетипизированный обжект то а в чем смысл? Добавлено через 4 минуты Цитата:
Так как вы показали в самом начале это не зануление массива, а зануление одной текущей ссылки. |
Цитата:
|
Не задуряйтесь. Вектор не даст Вам той производительности, о которой Вы думаете. Пишите код так, чтобы Вам хорошо было. Вам же с ним работать.
|
я тоже раньше думал, что вектор даст прирост производительности, но сейчас склоняюсь к ассоциативным + к классам с одними значениями.
|
Цитата:
|
Цитата:
А ещё наверное забыли, что когда то, когда ещё не понимали разницы между массивом и вектором, пытались всё засунуть в массивы и использовать их везде. И вот если у ТС похожая проблема, то я и сказал, что тоже так думал, но это не так. Если я раньше думал, что в массивы нужно сувать всё, то теперь даже не знаю в каких случаях вектор даст прирост производительности. Наверное, если в него нужно положить миллион элементов, то тогда его стоит использовать. |
Это я написал к тому, что вы сравниваете применимость теплого, мягкого и зеленого.
|
| Часовой пояс GMT +4, время: 17:50. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.