在没有ANSI / ISO C ++的先验知识的情况下学习C ++ / CLI

时间:2013-12-18 11:30:24

标签: c++-cli

我以前用C#编程,我想学习C ++。我是否可以在事先了解ANSI / ISO C ++之前直接学习C ++ / CLI?

2 个答案:

答案 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和模板。