>

검색 엔진이 "추가"문자를 버리지 못하도록하기 때문에 이는 Google의 완벽한 용어입니다. C ++ 참조에서 MSDN을 보았지만 선언 섹션에 아무것도 없기 때문에 C ++/CLI 참조를 찾을 수 없습니다.


  • 답변 # 1

    %  추적 참조입니다.

    네이티브 레퍼런스 ( Object& )와 유사 )이지만 추적 참조는 CLR 객체를 참조 할 수 있지만 기본 참조는 할 수 없습니다. 가비지 수집기가 CLR 개체를 이동할 수 있으므로 CLR 개체의 메모리 주소가 변경 될 수 있으므로 구분이 필요합니다.

    와이즈 비즈  단순히 그것이 관리된다는 것을 의미합니다. MSDN 및이 SO 게시물을 참조하십시오.

  • 답변 # 2

    "참조로 전달"을 의미합니다 :

    ^
    
    

    C ++에서 같은 것 :

    void bar::foo(Object^% arg) {
        arg = gcnew Object;    // Callers argument gets updated
     }
    
    

    또는 C # :

    void foo(Object** arg) {
        *arg = new Object;
     }
    
    

    C ++/CLI는refout을 구분하지 않으며 C # 언어의definite assignment확인 기능이 없습니다. 따라서 둘을 구별 할 필요가 없습니다. VB.NET, ByRef 및 ByVal에서 동일합니다.

  • 답변 # 3

    기본적으로 void foo(out object arg) { arg = new Object(); } 의 "관리"버전입니다. , Object*& 와 동일  또는 ref  C #의 참조 유형에서.

  • 답변 # 4

    참조로 관리되는 포인터입니다. 따라서 다음과 같은 것이 있다면 :

    out
    
    

    C #에서는 다음과 같습니다 :

    void DoSomething(System::String^% stringObject)
    
    

  • 답변 # 5

    C ++/CLI 추적 참조입니다. 이것은 C ++ 참조와 비슷하지만 관리되는 객체에 대한 것입니다.

    void DoSomething(ref System.String stringObject)

  • 이전 파이썬에서 그룹을 캡처 할 때 정규식 검색이 왜 느린가요?
  • 다음 python - 플라스크 - restful api 및 socketio 서버