Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    62

    [C++/CLI] --> un nuovo mondo ( per me :P )

    Ciao a tutti,
    oggi ho iniziato a documentarmi su questo linguaggio, che altro non e' che il C++ fornito da M$ con Visual Studio per lo sviluppo di applicazioni managed .NET.

    Il primo approcio non e' stato dei migliori, ma dopo un pomeriggio di ricerche sono riuscito a chiarirmi qualche idea, ma ci sono cose che ancora non risco a capire, precisamente :

    codice:
    int main(array<System::String ^> ^args)
    Non capisco la sintassi dell' oeratore < e dell' operatore (composito ?) ^>; se ho ben capito l' oeratore ^ utilizza un handle per puntare ad un oggetto e sostituisce il vecchio * del c++.


    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    62
    Ciao a tutti, sono riuscito a risolvere il mistero... ( ).

    la dichiarazione "array<System::String^> ^args" non e' altro che una dichiarazione di tipo attraverso un template, infatti cercando nel documento di riferimento dello standard CLI :
    codice:
    A CLI array type is declared using a built-in pseudo-template ref class having the following declaration:
    namespace cli {
    template<typename T, int rank = 1>
    ref class array : System::Array {
    };
    }
    An example of using this pseudo-template is:
    int main() {
    array<int>^ arr1D = gcnew array<int>(4) {10, 42, 30, 12};
    Console::Write("The {0} elements are:", arr1D->Length);
    for each (int i in arr1D) {
    Console::Write("{0,3}", i);
    }
    Console::WriteLine();
    array<int, 3>^ arr3D = gcnew array<int, 3>(10, 20, 30);
    }
    Quindi, se ho ben capito, nel mio caso viene dichiarato un vettore ad una dimensione di puntatori a stringhe ( nel C non gestito sarebbe char args*[] per capirci ) che e' a sua volta passato alla funzione come puntatore gestito ( ^ );



Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.