Ach jaj!
MeanSeriously napísal:Keď pracuješ s poliami v C++/CLI, vždy si musíš zvážiť typ. Všetky manažované premenné môžu byť použité
len v manažovanom kontexte.
aké manažované premenné? Jedná sa o typy z Managed C++/CLI, ktoré nie sú zakódované v podpore CIL pre .NET.
WTH? Miešaš hrušky s medziplanetárnym prachom. Štandardné pole v C++ sa vytvára na zásobníku (ako v C, nerátajúc s C99) a má pevnú veľkosť, pretože už v compile time musí byť jasné, aký bude zásobníkový rámec. V prípade managed typu moze byt pole managed aj nemanaged. To zase moze mat podla typu premenlivu alebo pevnu velkost.
Kód: Vybrať všetko
array<String^>^ //referencia na array referencii na string
nazov = gcnew //= new garbage-collected obejct
array<String^>(velkost); //objekt arrayu referencii na string o velkosti 'velkost'
V tvojom pripade sa da pouzit
Kód: Vybrať všetko
array<String^>^ slova = gcnew array<String^> {"prvni", "druhe", "treti", "ctvrte"};
existuje ale aj moznost
... kde array nebude managed, ale bude array 'nativnych' (beznych Cckovskych) handlerov referencie na String ... taky mensi cheat.
//autoeditácia príspevku (02 Jún 2013, 18:38)
C++/CLI je genialita sama o sebe, no treba poznat classic C++, inak sa zacnu veci miesat. Jednym zo zakladov C++/CLI je Garbage-collecting, alebo inak "kaslanie na delete a delete []". Preto vsetky tie veci.