奇思妙想 · 2024年 4月 4日 0

C++/CLI写托管代码和C++有什么不同?

208 次浏览

一个简单的例子:

#using <system.dll>

using namespace System;

int main(array ^args)
{
    Console::WriteLine("Hello from C++/CLI!");

     // create a string array 

    array<String^>^ strArr = gcnew array<String^> { "Apple", "Banana", "Cherry" };

    for (int i = 0; i < strArr->Length; i++)

    {

        Console::WriteLine(strArr[i]);

    }

    return 0; 

}

代码逻辑和普通C++很像,不同在于:

  • using引用和Console::WriteLine更接近.NET托管语言语法,例如C#.
  • ^表示托管引用,对应于C++指针的托管形态。String ^对应托管的字符串指针。