View Full Version : [Visual C++] operatore gcnew a cosa serve?
Andy1984
18-06-2010, 11:37
Ciao a tutti, sto utilizzando da poco Visual C++ 2008 e sto analizzando un codice eistente che ha pochissimi commenti. Nel codice c'è una riga che dice: Order->Setvalue(gcnew String (StrCell.c_str()), OrderScan );
Mi potreste dire cosa significa questa linea di codice?
Ringrazio in anticipo.
tomminno
18-06-2010, 12:52
Serve per allocare gli oggetti nel managed heap di .NET.
PS Quello non è C++
[...]
PS Quello non è C++
:asd:
Andy1984
18-06-2010, 13:28
Serve per allocare gli oggetti nel managed heap di .NET.
PS Quello non è C++
è C#??
wizard1993
18-06-2010, 13:36
è C#??
no, è c++/cli ossia c++ managed
http://en.wikipedia.org/wiki/C%2B%2B/CLI
Andy1984
18-06-2010, 14:23
no, è c++/cli ossia c++ managed
http://en.wikipedia.org/wiki/C%2B%2B/CLI
Vabbè ma qui con tutte queste varianti non ci si capisce più niente...:doh:
ok ora mi è tutto più chiaro perchè non capivo molte istruzioni. Io vengo dal C classico e non ho mai programmato ad oggetti quindi mi risulta un po più complicato.
Grazie cmq
tomminno
18-06-2010, 14:43
Vabbè ma qui con tutte queste varianti non ci si capisce più niente...:doh:
ok ora mi è tutto più chiaro perchè non capivo molte istruzioni. Io vengo dal C classico e non ho mai programmato ad oggetti quindi mi risulta un po più complicato.
Grazie cmq
Quello che hai trovato te non ha niente a che vedere con il C++. Ha un nome simile (C++/CLI) e basta.
Fai conto che è come Java e Javascript, si assomigliano solo per il nome.
wizard1993
18-06-2010, 14:45
Vabbè ma qui con tutte queste varianti non ci si capisce più niente...:doh:
ok ora mi è tutto più chiaro perchè non capivo molte istruzioni. Io vengo dal C classico e non ho mai programmato ad oggetti quindi mi risulta un po più complicato.
Grazie cmq
inoltre ricordati che il che il cli ha un garbage collector dietro, questa è la più grande differenza con il c++ standard (e dal c), ossia la memoria non la gestisci manualmente.
direi pure il bytecode no?
wizard1993
18-06-2010, 15:03
direi pure il bytecode no?
senza dubbio, ma sapere che sia compilato in bytecodenon cambia il modo in cui programmi, mentre se dietro c'è un gc è profondamente diverso dal non avero. :D
senza dubbio, ma sapere che sia compilato in bytecodenon cambia il modo in cui programmi, mentre se dietro c'è un gc è profondamente diverso dal non avero. :D
tru :sisi:
inoltre ricordati che il che il cli ha un garbage collector dietro, questa è la più grande differenza con il c++ standard (e dal c), ossia la memoria non la gestisci manualmente.
volendo si puo' usare anche un GC col c++ standard.
wizard1993
18-06-2010, 20:40
volendo si puo' usare anche un GC col c++ standard.
senza dubbio, ma mentre quello del cli è fortemente integrato con il linguaggio un boehm (solo per fare un esempio) non è lo altrettanto con il c++, e soprattutto non è obbligatorio e in genere, se scegli il c++ ponderatamente il gc è l'ultima cosa che ti serve,
Andy1984
21-06-2010, 10:09
Grazie a tutti ragazzi ora è tutto più chiaro e mi avete instradato ad una ricerca in rete sul C++/cli. Ora il prigramma che ho sottomano so come si potrebbe gestire.
Ora volevo fare un'altra domanda visto che stiamo parlando del C++/cli e penso che sia proprio una sintassi di quest'ultimo.
Ho questo pezzo di codice:
...
while(RowScan <= 3)
{
//scansione OC
while(ColScan <= 3)
{
xls_sheet.ofs(RowOffSet[RowScan],ColOffSet[ColScan]);
if(!xls_sheet.eof())
{
xls_sheet.readval(StrCell, RowOffSet[RowScan],ColOffSet[ColScan]); Controller = gcnew String(StrCell.c_str());
}
else Controller == "";
//Controller = gcnew String(StrCell.c_str());
StrCell = "";
Ora nella linea con xls_sheet.ofs(RowOffSet[RowScan],ColOffSet[ColScan]) io so che xls_sheet.ofs e l-offset per leggere in un file excel pero non ho capito il contenuto delle parentesi.
Qualcuno potrebbe spiegarmelo_
Grazie in anticipo
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.