我是使用 g++ 的高级 C++ 程序员。但目前我正在使用 Visual C++ 2005 进行 Windows 窗体应用程序编程。但我发现它的新术语很难。例如,而不是new
它有gcnew
和
String ^
之类的事情。有人可以解释什么是^
,类似于指针吗?
我可以让 Visual C++ 像 g++ 编译器一样以与普通 C++ 相同的方式工作吗?我还听说过一些有关托管 C++ 的信息。那是什么?
我是使用 g++ 的高级 C++ 程序员。但目前我正在使用 Visual C++ 2005 进行 Windows 窗体应用程序编程。但我发现它的新术语很难。例如,而不是new
它有gcnew
和
String ^
之类的事情。有人可以解释什么是^
,类似于指针吗?
我可以让 Visual C++ 像 g++ 编译器一样以与普通 C++ 相同的方式工作吗?我还听说过一些有关托管 C++ 的信息。那是什么?
gcnew 和 ^ 值是托管的 C++,它是与 c++ 不同的语言。通过不使用新项目窗口的 CLR 部分中的项目类型,您可以将 VS2005 用作普通的 C++ 编译器。
gcnew
并且^
来自新的 Visual C++ 语法。新语法不是 ISO/ANSI C++ 标准的一部分,而是一组在 Ecma C++/CLI 标准下标准化的 C++ 扩展。如果你不想,你可以不使用它们。在这里,您可以阅读有关 Visual C++ 扩展的更多信息。
Windows 窗体是特定于 .Net 的,因此如果您想这样做,您需要使用 C++/CLI(即“托管 C++”)。
但是,我不确定您是否真的想要 Windows 窗体?您只想要某种窗口式 GUI,对吗?如果是这种情况,您可以使用 MFC 之类的东西或仅使用本机 O/S 调用来创建您的 GUI,或者您可以使用Qt之类的包装 API
[编辑] 只是为了澄清一点:)
我还听说过一些有关托管 C++ 的信息。那是什么?
C++/CLI 是 C++ 的 .Net 实现。在这里,您可以使用常规 C++ 和托管代码。C++/CLI 是微软试图简化 C++ 开发人员进入托管框架的学习曲线的尝试,但是,现在它并没有被大量使用,你可能很难找到(m)任何好的教程。Visual C++ 只是 IDE 的名称,它与您使用哪种 C++ 无关。您可以像使用 g++ 一样使用 Visual C++,但是如果您不想通过控制台应用程序进行任何操作,则需要将一些 GUI 逻辑连接到您的应用程序中。正如我原来的回答中所说,这可以通过多种方式完成。
如果您确定要使用 .Net,我建议您花一天时间使用 C#,因为如果您有 C++ 经验,学习起来真的很容易,但从您的问题来看,我认为这不是您想要的 :)
托管 C++ 用于 Microsoft 公共语言运行时 (CLR) 中的 .Net 开发。创建这种特殊的 C++ 语法是为了让 C++ 开发人员无需学习 C# 等新语言即可进入 .Net 社区。
您可以通过创建非 CLR 项目以与 g++ 相同的方式使用 Visual C++。
请注意,Windows 窗体并不是在 Windows 下制作 GUI 的唯一方法。如果你想要纯 C(如果你愿意,你可以用 C++ 包装),你可以使用常规的 Win32 API。
如果您确实选择了 Windows 窗体,那么您可以选择使用 C#、VB.NET 或 C++/CLI(托管 C++)。您不需要使用 C++/CLI,这似乎是您的假设。