我即将开始我的第一个C ++项目。在过去的10年左右的时间里,我已经完成了很多C#和VB(VB6和VB.NET),以及Java和其他一些事情,直到现在才对C ++有过要求。
我打算使用Visual Studio 2008,但我很想从经验丰富的C ++程序员那里了解Visual Studio是否适合C ++新手使用。
VS会以任何方式让我更难学会正确编程C ++吗?
VS会鼓励任何坏习惯吗?
我应该注意哪些陷阱?
答案 0 :(得分:34)
首先,VS 2008非常强大,可能是最好的C ++编程IDE之一(至少有一个支持插件,如Visual Assist X)。
然而,请注意,C ++是一种硬编程语言,并且默认警告级别非常宽松。所以它将经常容忍错误/错误的代码。始终建议检查其他编译器上的代码 - 至少在严格模式下具有高警告级别的g++
中。
还鼓励在Visual Studio中将警告级别设置得更高。
答案 1 :(得分:20)
Visual Studio是一个出色的C ++ IDE。如果您从C#中了解它,那将会非常熟悉。
答案 2 :(得分:16)
通过不使用IDE,但通过从命令行构建,开始学习像C ++这样的语言有一些东西可以说。这将给您留下c ++编译和链接过程的各个阶段,如果您需要真正的跨平台可移植性,它将为您提供良好的服务。
答案 3 :(得分:3)
VS 2008适合开发C ++。就像其他人说的那样,我会购买Visual Assist X,因为它可以让你在类固醇和更好的代码大纲上给你智能感知。您使用VS获得的MSDN文档质量非常好,包括C ++语言和标准库的完整描述。在Windows中,你会疯使用别的。
答案 4 :(得分:2)
使用Visual Studio,特别是如果您已通过C#了解它。我同意其他人你应该投资Visual Assist。
答案 5 :(得分:2)
最好使用代码编辑器+构建工具
作为IDE,VS非常糟糕(主观)。有很多替代方案(更轻量级,当然)
通过构建工具,我不仅指编译器,还指某种制作/卡纸等
通过这种方式,您将为真正的跨平台开发做好准备(首先),作为奖励,您将获得为“不小”项目提供更快更舒适的构建的可能性 - 一个命令构建所有内容。虽然你可以在VS中获得相同的(真的吗?)但它会更快。另外,您可以按照您想要的方式拥有项目结构8)
至于参考,对于我的宠物项目,我使用source insight + kjam + msvc编译器
答案 6 :(得分:1)
我记得几年前VS遇到了一些麻烦。实际上问题出在C ++编译器上,因为它们没有实现该语言的某些功能,或者至少它们没有以标准方式实现。
我们切换到Eclipse CDT,因为使用其他编译器,支持的自定义makefile和多个目标相对容易。
但是如果你打算为Win32开发,VS它可能是最安全的选择。
答案 7 :(得分:1)
我正在做类似的事情;我做了很多Java编程,不久前开始学习C ++。当我开始学习一门新语言时,我喜欢通过编写较小的程序来解决各种语法差异。尽管Visual Studio适用于大型项目,但我认为它往往会为这种实践增加大量的体积。我和Konrad在命令行上的想法 - 开始的好地方。我也在使用Dev-C++来进行较小的项目。它是一个漂亮,紧凑的小型gcc IDE,硬盘驱动器总占用空间仅约60MB,并且可以毫无问题地编译为Windows可执行文件。祝你好运!
答案 8 :(得分:1)
是的,使用Visual Studio,它是您已经知道的IDE,因此它在工具方面具有最低的学习曲线。由于您以前从未做过任何C ++,请使用IDE,而不是控制台窗口来学习。您将遗漏的一件事是.NET框架。您可以将管理C ++与VS一起使用,但如果您打算使用纯C ++,而根本没有托管代码,那么一开始就会让您感到害怕。
我一直注意到的关于C ++的一件事是,如果你期望在启动时使用C#的所有相同工具都可以用于C ++,那么你可能会感到失望。 VS是一个很棒的IDE,它在.NET出现之前很久就得到了C ++支持,所以相信它,享受它,并且记住,没有什么是完美的。
答案 9 :(得分:0)
除了在Visual Studio上使用C之外,我问过类似的问题here。虽然我个人无法想象没有VS的C#,我发现使用VS for C是一种受虐狂的练习。我知道这与你提出的问题并不完全相同,但如果你发现它在C ++中有类似的经历,那就知道它不仅仅是你。
答案 10 :(得分:0)
使用VS可以让您不必深入了解构建工具链的工作方式。使用VS自动执行您手动执行的操作,并确保了解幕后发生的情况。在C ++世界中,您需要了解构建链,而不是像C#或VB这样的高级语言。
答案 11 :(得分:0)
如果您正在使用VC项目系统,那么您应该没问题。但是,如果您使用的是基于makefile的项目,那么告诉IDE有关包含路径,预处理器宏等的信息非常重要,以便intellisense正常工作。
有些人对Visual C ++的代码浏览功能造成了不好的印象,因为它们习惯于没有配置的C#。
另一件需要注意的事情是:偶尔,我发现intellisense在我工作了几天或几周的项目中停止运转。如果您的解决方案名为foo.sln,则删除foo.ncb文件将导致IDE重新解析您的代码,并且intellisense将重新开始工作。
最后,我听说VS 2010将是多年来第一次对C ++ IDE体验的重大改进。 http://blogs.msdn.com/somasegar/archive/2008/11/21/c-enhancements-in-vs-2010.aspx
答案 12 :(得分:0)
是的,使用visual studio,但请注意,使用它构建的应用程序不会在某些计算机上运行,除非它们安装了visual studio运行时redist。如果您发现自己的应用无法在其他计算机上运行,请转到download。