我为什么要使用C ++ Native的C ++ / CLI类型的instad?

时间:2017-01-17 15:25:00

标签: c++ visual-studio c++-cli

我正在学习C ++,而我刚刚进入C++/CLI

我已经读过C++/CLIC++ Native等效,但我无法理解为什么我应该使用C++/CLI类型而不是C++ Native。< / p>

例如,System.String代替stringSystem.Boolean而非bool

那么我为什么要使用C++/CLI类型而不是C++ Native

1 个答案:

答案 0 :(得分:1)

如果您想编写托管代码,请使用“好”CLR语言(如C#)中的CLR类型。

如果要编写本机代码,请在本机C ++中使用C ++类型。

C ++ / CLI的主要目的是在CLR和本机C ++代码之间创建接口。在C ++ / CLI中做任何其他事情都是一个坏主意,因为微软没有计划进化语言,而且它很笨拙且充满了bug。

对于接口代码,您通常只处理CLR类型,以便为本机C ++代码封送和退出本机类型的数据。如果你在C ++ / CLI中使用CLR类型的话,你必须问问自己为什么。通常,你会更好地用更好的CLR语言进行CLR工作。

如果您提供有关使用C ++ / CLI的动机的更多详细信息,我们可以进一步帮助您做出决策。