如果不建议在VS中学习,则您建议使用哪个平台/ IDE?
编辑:有人可以详细说明当编写非托管C ++时,VS将隐藏或管理哪些内容吗?我真的需要学习指针,垃圾收集和所有低级语言的细节... VS是否抽象或隐藏了这种类型的内容?
感谢所有建议...
Visual Studio(或免费版本Visual C++ Express)在Windows上是一个完全不错的选择。在Linux上,您可能最终会使用GCC。两者都是好的编译器。
Visual C++支持“真正的”本地C ++和C ++ / CLI,受管理的.NET版本,因此如果您想学习C ++,只需创建常规C ++项目即可。
如果您关心学习“正确”的标准C ++,请注意编译器默认启用了许多微软扩展,您可能希望禁用这些扩展。(项目属性-> C / C ++->语言->禁用语言扩展)。
值得一提的是,GCC也有类似的扩展(可以通过调用带--ansi的编译器来禁用),所以这不仅仅是微软变得庞大邪恶和非标准化。
Visual Studio拥有一个非常好的调试器。它支持STL类型(2008版本更好),这将在调试时帮助你。
从你创建第一个控制台项目(新建->项目->Win32控制台应用程序)开始,Visual Studio坚持使用微软特定的规范。
// test123.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
stdafx.h是什么?_tmain是什么?_TCHAR是什么?(顺便说一下,不需要在这里回答)这些都是新手不应该出现的问题。
因此我建议在Win32控制台应用程序项目中使用“空项目”复选框,然后从“项目”菜单中选择“添加新项”,选择一个cpp文件,这将给您一个空白页面,您可以在其中实现从好的C ++书中读取的代码。
Visual Studio集成开发环境可以用于多种语言,例如C#、托管的C++以及非托管的C++。因此:
Visual Studio并不一定使用Managed C++。您可以使用该选项编译它,但这并不是必需的。
在我看来,学习使用Visual Studio是一个很好的选择,因为你可以直接进入代码,而不用过多担心项目配置。
一切都取决于您的需要,第一步是阅读一些基础的书籍以及一些高级的书籍,例如effective C++。
Managed C++与纯C++非常不同,除此之外,VS也可以让您编写纯C++。因此,如果您的目标是学习纯C++,我认为您不需要学习受控扩展。
您能详细说明一下为什么需要学习C++吗?您将要处理什么样的项目?
有了Intellisense和帮助功能的Visual Studio是学习语言的很好平台。
我的经验:我第一次尝试编程是在VS中使用C ++。学习语法相对简单,但直到我离开IDE才开始理解编译/链接等方面,这更加痛苦。这些细节大部分由IDE管理/隐藏。
话虽如此,如果您是有经验的程序员,特别是如果您的目标是在VS中使用C ++(例如在工作或学校环境中),那么这是一个可行的快速启动选项。
对于C ++,我习惯了使用Borland编译器 http://www.turboexplorer.com/。编译器之间的区别在于它们使用的库(dll和includes,但其中一些是标准的)。我开始使用DevC ++(免费编译器 http://www.bloodshed.net/devcpp.html),我也喜欢它。
语言是相同的。但最好尝试不同的编译器并使用您最喜欢的。
学习C ++ 最好以控制台应用程序为开始。
如果你只想学习纯粹的C++和最基本的其他东西,我建议安装cygwin和gcc/g++。我推荐cygwin的原因是从问题中看来你正在使用Windows。否则,如果你正在使用*nix类型的系统,你应该已经有了gcc。
你需要做的就是在你喜欢的编辑器中创建你的c++文件并进行编译。你仍然需要学习如何使用gcc,可能还需要学习如何制作文件(特别是如果你正在制作一个非平凡的项目),但这可能是你学习C++所需的最基本的设置。