2009-01-23 13 views

Odpowiedz

14

Jestem zakładając, że jesteś patrząc na konstrukcje w postaci:

Foo ^bar = gcnew Foo(); 

Masz rację, w .NET jest to pointer- „jak” rodzaj i jest częścią C++/CLI , ale nie standard ISO C++.

Jest to odniesienie do zarządzanego przez śmieci, zarządzanego obiektu .NET w przeciwieństwie do zwykłego, niezarządzanego obiektu C++.

Jak sugeruje inny plakat, poza światem .NET lub w kontekście tworzenia nieobiektowym, jest to operator XOR.

5

W języku C++ jest to operator XOR.

+0

-1 Ponieważ ta odpowiedź jest błędna w tym kontekście. –

+1

+1 do unieważnienia -1, ponieważ odpowiedź została podana przed edytowaniem pytania w celu włączenia przykładu. – Naveen

+0

+1, ponieważ jest poprawne dla/C++ /. Zarządzane C++ to nie C++. –

0

Faktycznie wiem, że jest to operator XOR, ale spójrz na ten przykład z this page.

void objectCollection() 
{ 
    using namespace System::Collections; 

    **ArrayList ^as = gcnew ArrayList;** 

    //... 
} 

Co to jest?

+0

Zobacz wyżej - instrukcja tworzy uchwyt/odniesienie do obiektu biblioteki ArrayList. –

+1

Możesz edytować swoje pytanie zamiast pisać asnwer, więc będzie jasne dla wszystkich, co masz na myśli. Dzięki! – splattne

0

Jest to uchwyt dla typu odwołania do .NET, gdy używany jest Managed C++. Zobacz this.

+0

To C++/CLI - Managed C++ to kolejna bestia, która została miłosiernie odłożona. – Eclipse

+0

Dzięki za wyjaśnienia, dobrze wiedzieć – orip