/ / Inicializácia AS 3.0 vektora s typom array - Vector. <Array>? (plus C + + equivelant) - c ++, actionscript-3, portovanie

Inicializácia vektora AS 3.0 s typovým poľom - Vector. <Array>? (plus C + + ekvivalent) - c ++, actionscript-3, porting

Mám pre vás všetkých rýchlu otázku. Snažím sa previesť nejaký kód jazyka ActionScript na C ++ a s týmto jedným riadkom mám ťažký čas:

private var edges:Vector.<Array>

Čo je to presne? Je to v podstate multidimenzionálny vektor? Alebo to jednoducho deklarujete ako kontajner? Chápem z výskumu, že vektory, ako C ++ vektory, musia byť deklarované s typom. V C ++ však nemôžem položiť Array, musím použiť iný vektor (pravdepodobne), takže to vyzerá takto:

vector<vector<T> example;

alebo možno dokonca

vector<int[]> example;

Neočakávam, že budete chcieť poznať C ++ekvivalent, pretože ja som primárne vysielanie s AS tagy, ale ak by ste mohli potvrdiť moje pochopenie AS polovice, že by bolo skvelé.

odpovede:

1 pre odpoveď č. 1

Z Mike Chambers (adobe evangelista):

„V podstate trieda Vector je typom Array a okrem toho, že vaša kolekcia je bezpečná, môže tiež poskytnúť (niekedy významné) vylepšenia výkonu v porovnaní s použitím poľa Array.“

http://www.mikechambers.com/blog/2008/08/19/using-vectors-in-actionscript-3-and-flash-player-10/

V podstate vektor v C ++ je založený narovnaké zásady. Pokiaľ ide o portovanie vektora Arrays v AS3 na C ++, tak to nie je konverzia, ktorá je v princípe jasná, pretože by ste mohli mať kolekciu (array) rôznych typov v C ++, ako napríklad char array. Zdá sa, že ste dostali nápad, pretože ste vo veľkej miere zverejnili príklady oboch ciest vo vašej otázke.

Uverejnil by som nejaký kód, ale myslím, že ste ho dostalipresne. Počasie používate vektor vo vnútri vektora alebo deklarujete špecificky napísanú kolekciu, myslím, že ide o to, čo vám najlepšie vyhovuje konkrétny projekt.

Tiež by vás mohlo zaujímať:

http://www.mikechambers.com/blog/2008/09/24/actioscript-3-vector-array-performance-comparison/