• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

co oznacza "daszek" po nazwie klasy w c++ (CX)

VPS Starter Arubacloud
+1 głos
307 wizyt
pytanie zadane 7 czerwca 2022 w C i C++ przez PiotrB Nowicjusz (200 p.)
edycja 7 czerwca 2022 przez adrian17

Cześć,

Mamy taki fragment kodu:

HttpContext^ httpCont = HttpContext::Current;

Moje pytanie brzmi, w jakim celu używany ten znak "daszek" po nazwie klasy HttpContext^ ? Pracuje nad kodem po innym developerze i wiem tylko że w pewnych miejscach muszę go używać ale chciałbym wiedzieć dlaczego :)

Będę wdzięczny za link, gdzie mógłbym o tym poczytać więcej. Oczywiście próbowałem szukać ale wszelkie próby kończyły się tylko na znalezieniu definicji XOR do której taki znak jest właśnie używany.

komentarz 7 czerwca 2022 przez adrian17 Ekspert (346,900 p.)

Tylko zaznaczę że to nie jest C++. To jest customowy język Microsoftu pochodny od C++a, o nazwie C++/CLI lub C++/CX.

https://docs.microsoft.com/en-us/cpp/extensions/handle-to-object-operator-hat-cpp-component-extensions?view=msvc-170

Dlatego osoby pracujące normalnie z C++em raczej nie będą miały z tym doświadczenia i Ci z tym nie pomogą. A jak ktoś już siedzi w .NET'cie, to już prędzej użyje właściwego języka do tego jakim jest C#.

HttpContext context = HttpContext.Current;

 

2 odpowiedzi

+2 głosów
odpowiedź 7 czerwca 2022 przez Wiciorny Ekspert (274,410 p.)

To jest wskaźnik, tylko dedykowany: przez was 
Reprezentuje zarządzany wskaźnik, ^ wskazuje na obiekt odśmiecający (garbage-collector) -  obsługiwany przez framework, pewnie który macie zdefiniowany.
Skoro pracujesz: może wypadałoby zapytać zespołu, to zła praktyka jest "bycia cicho", np. ze względu na strach przed złą opinią, broń boże kto pytana nie błądzi, a zobacz ile czasu zyskałbyś pytając kogoś z developerów. 

Tu masz informacje co do tego : https://docs.microsoft.com/en-us/previous-versions/cxx6f46y(v=vs.100)?redirectedfrom=MSDN
 

W Visual C++ 2002 i Visual C++ 2003 __gc * był używany do deklarowania wskaźnika zarządzanego. Jest to zastąpione ^ w Visual C++ 2005, na przykład ArrayList^ al = gcnew ArrayList();.

https://docs.microsoft.com/en-us/cpp/extensions/handle-to-object-operator-hat-cpp-component-extensions?redirectedfrom=MSDN&view=msvc-170

HttpNativeObject * n = new HttpNativeObject ();
NativeObjectMenaged^ m = gcnew NativeObjectMenaged();


Co ważne w twoim przypadku Ten przykład pokazuje, jak utworzyć wystąpienie typu referencyjnego na zarządzanym stercie, również, że można zainicjować jeden uchwyt z innym, co powoduje powstanie dwóch odwołań do tego samego obiektu na zarządzanym stercie z wyczyszczonymi elementami. 

1
komentarz 7 czerwca 2022 przez PiotrB Nowicjusz (200 p.)
Bardzo dziękuję za wyjaśnienie!.

ps. Zapytać niestety nie mam już kogo (wpadłem na ten pomysł ;)). Ale nie będę tutaj wchodzić w szczegóły.
komentarz 7 czerwca 2022 przez Wiciorny Ekspert (274,410 p.)
okej, nie wnikam niemniej jednak na przyszłość, sam popełniałem błąd na początku drogi, że wstydziłem się np. pytań i szukałem sam, co teraz po latach uważam, za totalnie głupię, bo właśnie dzięki rozmową z zespołem nabiera się najwięcej doświadczenia i wiedzy o ile faktycznie taki ktoś jest.

Powodzenia
0 głosów
odpowiedź 7 czerwca 2022 przez Hesoyam Użytkownik (620 p.)
A co się dzieje gdy go nie wstawisz? Masz jakiś komunikat?

Podobne pytania

0 głosów
1 odpowiedź 447 wizyt
pytanie zadane 25 października 2017 w C# przez Stami Gaduła (3,790 p.)
0 głosów
1 odpowiedź 173 wizyt
pytanie zadane 8 maja 2017 w Java przez Lukasz_B Nowicjusz (170 p.)

92,775 zapytań

141,703 odpowiedzi

320,560 komentarzy

62,109 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...