Visual C++ vs Visual C#,这是最好的学习方法吗?

M3t*_*0it 12 c# visual-c++

我已经完成了我的C++类和实践,之后我开始使用Ivor Horton的Visual C++学习Visual C++.问题是我无法理解本书的语言,并且严重地试图理解这些代码.我想学习用于Windows应用程序开发的Visual C++并在其中创造我的未来(也因为我已经了解C++).

我的一些朋友告诉我切换到C#,因为它有许多库函数来创建GUI等,并告诉我在Visual C++中编写Windows应用程序很困难.

现在在这些假期我将参加课程,你能帮助我,我应该坚持哪种语言,哪一种很容易?

从一开始我就想学习Visual C++,有时我觉得当我不理解参考书中的概念等时很难.

非常感谢任何帮助,非常感谢您花费宝贵的时间.

Ste*_*nov 46

Visual C++和Visual C#不是语言,也不是GUI框架 ; 它们是集成开发环境 - IDE.这意味着它们是针对开发任务量身定制的文本编辑器.

Visual C++允许您使用C++编写代码,Visual C#允许您使用C#编写代码.此外,两者都允许您以点击方式创建GUI.

听起来你真正想做的就是创建GUI.在这种情况下,如果没有进一步的信息,我建议你去C#.它是一种比C++更清晰的语言,它有更少的方法可以自己动手,并且可以访问非常有用的.NET框架.

C++没有的C#特性:

  • 全自动内存管理
  • Lambda函数 ¹
  • 类型推断 ¹
  • 反射
  • 远程处理
  • 自动序列化
  • 真正的实体类型
  • 属性
  • 通过LINQ进行数据库集成
  • 通过LINQ实现方便的功能式编程
  • 没有头文件
  • 没有未定义的行为
  • 多种语言直接互操作
  • 编译一次,到处运行

¹这些功能已经添加到C++的C++ 11标准中.

C#没有的C++特性

  • 模板元编程
  • 类型定义
  • 零开销原则
  • 强制执行const正确性的方法
  • 成熟的编译器现在可以生成极其优化的代码
  • 更广泛的平台支持

  • 对于最后一段,您错过了C++最重要的功能(wrt.C#):*确定性内存管理*. (4认同)
  • 我想看到这个答案更新.C++ 11具有lambda函数和类型推断. (4认同)
  • 第一段+1 (3认同)

Ree*_*sey 7

你能帮助我,我应该坚持哪种语言,哪种语言容易.

一般来说,如果您的目标是开发Windows应用程序,您可能会发现许多更简单的示例要在C#中学习而不是在C++中学习.围绕C#进行Windows GUI开发有一个庞大的社区.

话虽这么说,你需要的许多概念在你学到的任何语言中都是一样的.你真的不会出错 - 在某些时候,如果你打算专业(以及其他人),你可能想要学习两种语言.

我认为,当我不理解参考书等的概念时,这很难.

你应该得到一本初级编程书,而不是参考书,并逐步完成.如果您的目标只是GUI开发,我会推荐一本好的,简单的C#书,并从头到尾逐步完成,并完成所有示例.从"参考"书中学习是行不通的 - 它是参考资料,而不是教授概念.