0

使用 Visual C++ 2008。第一次,我正在尝试从 C# 交叉并想尝试一下。除了一些像智能块和一些颜色这样的东西之外,我没有改变太多基本设置。因为我在 C++ 知识上的水平为零,所以我所做的所有谷歌搜索都超出了我的想象。

问题的第 1 部分 我的问题是我刚刚创建了我的第一个 Windows 窗体项目。现在我双击并进入这样的内容,智能感知没有列出任何成员?

private: System::Void executeDocumentationCmd_Click(System::Object^  sender, System::EventArgs^  e) 
{
this. NOTHING POPS UP?
}

如果我输入MessageBox::,那么它将弹出智能感知 for Show。这是正常的吗?我发现它很有帮助,因为我正在学习基础知识,让它列出可用的 txt 框和成员,但它不会像在 C# intellisense 中那样做。

我已经stdafx.h包括在内。我根据在线帮助删除了 ncb 文件并重新启动,什么也没有。额外的标题?

问题的第 2 部分:在 C# 编辑中实时编码中没有下划线错误。这是 C++ express 的一个特性(编译前的错误检查)吗?当我输入错误信息时,我没有看到列出的任何警告或错误。

4

3 回答 3

2

this->在 C++ 中是一个被not取消引用的指针.

此外,VS2008 中 C++ 的智能感知不如 C# 有用,这包括没有错误检查。VS2010 将为 C++ 引入内联错误检查。

您需要注意 C# 和 C++ 之间的一些非常大的差异。这是一个很大的话题,所以我不认为这里的帖子可以总结它们,但两个重要的点是缺乏垃圾收集(查找delete关键字)和指针。指针存在于 C# 中,但它们仅在unsafe代码块中可用,而在 C++ 中,指针几乎是王道。您可能想投资一本书来帮助您学习。

于 2009-04-08T14:29:25.560 回答
1

仅供参考,根据您的代码片段,您实际上并没有使用 C++,而是 C++/CLI,这是一种不同的语言。

于 2009-04-08T16:14:07.913 回答
0

从历史上看,C++ 专门设计为与 C 兼容,而 C# 和 Java 则不兼容。一个后果是 C++ 难以解析,因此 C++ 的智能感知工作比 C# 更难。我觉得它很不稳定,希望它在 VS 2010 中会更好。

此外,与大多数语言相比,C 和 C++ 在变量和指针之间的区别要大得多。我不熟悉 C#,但在 Java 和 Common Lisp 等语言中,几乎所有内容都是指针,因此没有特殊符号。当我使用 Pascal 时,很少有事情是用指针完成的。C 和 C++ 是我使用过的最容易混淆的语言。它们还允许指针算术,这是很多错误的原因。

我不认为任何一种语言都是一种非常好的语言,只是为了尝试从中滑入 C++。我建议,只要您对 C++ 感兴趣,您就可以像学习一门新语言一样学习它。得到一个很好的现代介绍。

于 2009-04-08T14:44:33.433 回答