Pass an argument by reference in C++/CLI so re-assignment affects the caller

后端 未结 1 1079
小蘑菇
小蘑菇 2020-12-31 07:15

Probably this is not a difficult question, but I am always a little bit confused on how to treat String type as an argument in Visual C++. I have the following to functions:

相关标签:
1条回答
  • 2020-12-31 07:23

    Use a tracking reference:

    void function_1(String ^%str_1)
    {
      str_1 = gcnew String("Test");
    }
    

    Explanation: Passing String ^ is like passing a pointer. Changes are only made to the local copy of the reference. String ^% is like passing a reference to a reference... just as you would pass a pointer to a pointer when calling a function that should change the original pointer.

    0 讨论(0)
提交回复
热议问题