我的第一个C ++外观

时间:2012-11-09 17:43:37

标签: c++

我是一名c#程序员,但今天我正在考虑迁移到c ++,我首先想到的是有两种类型的项目CLR控制台应用程序和Win32控制台应用程序

令我困惑的是,在Win32中,我可以使用printf或cout写入控制台行

在CLR中我也可以使用熟悉的Console :: WriteLine

我完全感到困惑的是,只要写一行就能完成所有这些功能,以及CLR和Win32应用程序之间的区别是什么

2 个答案:

答案 0 :(得分:4)

  • printf是C方式。它不是类型安全的,但速度很快。它运行在标准C库上。 (C ++可以做到这一点,但这不正常。)
  • cout是C ++方式。它是类型安全的,并且是C ++中的常规方式。它运行在标准C ++库上。
  • WriteLine是.Net方式,因而是C ++ / CLI方式。它运行在.Net库中。
  • WriteConsole是Windows方式。这是一个原始的操作系统调用,所以速度很快,但很难使用而且不便携。不要使用它。

至于比较语言,C是一种不太复杂的语言(使你的代码更复杂),但C ++有模板,所以它们的速度大致相当,取决于任务。它们是正常的Win32应用程序,这意味着它们已经预先编译为原始机器代码,并由处理器直接运行。 C ++ / CLI在.Net框架上运行,这意味着它是在.Net框架运行时编译的,并且它的运行速度往往比C或C ++慢。

用一粒盐来取这一切。 WriteConsole可以做其他人不能轻易做到的事情。在某些事情上,.Net框架非常快速地 。但一般来说,请使用与您的语言相关联的版本。

答案 1 :(得分:1)

CLR,Common Language Runtime,用于构建.net应用程序。如果您不需要.net库,只需使用Win32控制台即可。

Cout是一个C ++命令,其中printf是一个C命令。 C ++仍然支持很多C命令。大多数时候我使用C ++变体,但由于它们完成工作的方式不同,您可能希望在某些情况下使用旧的C命令。

另一个注意事项:对于从C#转移到C ++的人来说,只需要一些有用的建议:您需要自己管理内存。您创建的新对象需要删除,没有像C#中那样的内置内存管理器。