我在Dev C ++学校编写了一些不是雄心勃勃的小程序。但现在它出来我需要制作一个窗口应用程序。我看到有些人使用visual studio。
几天前我得到了Visual Studio C ++ express,经过一段时间的编码后,经过几行我意识到它与我迄今使用的“普通”C ++有很大不同。即使是字符串的声明也让我很头疼。我想问一下,如果看起来c#可能与我所知道的更相似,或者对我来说可能有其他方式,用C ++编写窗口应用程序,我知道,使用拖放界面,当涉及到创建按钮时,文本框和内容(如在visual studio中)?
所以最重要的是,Visual c#更像是“普通”的c ++,如果没有,你们有没有建议取代Visual? 任何帮助表示感谢。
答案 0 :(得分:3)
C ++和C ++ / CLI,实际上只是用于不同目的的不同语言。 C ++ / CLI在设计时考虑了一个目标--CLR,因此将垃圾收集的指针,接口,委托等作为语言的第一类组件公开。 C ++ / CLI的设计使得大多数有效C ++代码都可以编译为以CLR为目标而不会被重写。这里的缺点是编译现有的C ++代码通常会使用本机指针,除非将其置于unsafe
模式,否则无法在CLR上表示。这意味着您无法在部分信任环境中运行此类已编译的代码,例如Sliverlight或Windows Phone。
实际上,尽管共享相似的语法,但它们是两种完全独立的语言。 C ++ / CLI通常以更接近C#而不是C ++的方式编写。
现在,要解决您的具体问题:
即使是字符串声明也让我很头疼。
C ++ / CLI提供System::String
类型作为其基类库的一部分。标准C ++还提供std::basic_string
(专门用于std::string
时为char
的typedef。)因此,您可能会看到某些类型的冲突,并且解决此问题的唯一方法通常是明确指定你想要的那个。
我想问一下,如果看起来c#可能与我所知道的更相似,或者对我来说可能有其他方式,用C ++编写窗口应用程序,我知道,使用拖放界面,当涉及到创建按钮,文本框和东西(如在visual studio中)?
编辑:在Visual Studio 2010中可能不再适用以下内容。我没有机会验证。 (有关详细信息,请参阅此答案的评论)
Visual Studio中没有可用的视觉设计器工具来生成C ++应用程序。有WPF和Windows Forms的设计者,这两者都是CLR技术。要使用这些设计器,您必须使用C ++ / CLI,而不是C ++。