我以前用C#编程,我想学习C ++。我是否可以在事先了解ANSI / ISO C ++之前直接学习C ++ / CLI?
答案 0 :(得分:5)
C ++ / CLI是一种允许您编写纯托管代码的语言。编译器甚至有一个选项/clr:pure
。但它生成的代码与C#编译器生成的代码没有什么不同。因此,使用该功能毫无意义,除非你是一个顽固的C ++程序员,喜欢类似C ++的语法。
不等同于C ++,并且语言中很少会为您学习本机C ++做好准备。非常基本的本机C ++构造(如多重继承,RAII和 const )要么不可用,要么只是近似的。特别是新的C ++ 11添加内容根本没有涉及,而不是你开始学习C ++时想要跳过的内容。
C ++ / CLI的目标是互操作语言,它使得围绕现有本机C或C ++代码编写托管类包装变得非常容易。很明显,如果您还不知道这些语言是什么样的,那对您没用。
如果这是您想要学习的语言,则只考虑使用原生C ++。学习C ++ / CLI只会让你感到困惑。
答案 1 :(得分:2)
你可以,但为什么呢?
如果你想学习C ++,最好用C ++开始编程(不用/ Cli)。
C ++ / Cli添加了一组复杂的行为和托管指针类型,这些类型在C ++和C#之间编写包装器之外并不常用,而ref类缺少C ++的一些主要优点。即,RAII(确定性破坏),const和模板。