我正在学习C ++,而我刚刚进入C++/CLI
。
我已经读过C++/CLI
与C++ Native
等效,但我无法理解为什么我应该使用C++/CLI
类型而不是C++ Native
。< / p>
例如,System.String
代替string
或System.Boolean
而非bool
。
那么我为什么要使用C++/CLI
类型而不是C++ Native
?
答案 0 :(得分:1)
如果您想编写托管代码,请使用“好”CLR语言(如C#)中的CLR类型。
如果要编写本机代码,请在本机C ++中使用C ++类型。
C ++ / CLI的主要目的是在CLR和本机C ++代码之间创建接口。在C ++ / CLI中做任何其他事情都是一个坏主意,因为微软没有计划进化语言,而且它很笨拙且充满了bug。
对于接口代码,您通常只处理CLR类型,以便为本机C ++代码封送和退出本机类型的数据。如果你在C ++ / CLI中使用CLR类型的话,你必须问问自己为什么。通常,你会更好地用更好的CLR语言进行CLR工作。
如果您提供有关使用C ++ / CLI的动机的更多详细信息,我们可以进一步帮助您做出决策。