如果你是C程序员或精通C的C++程序员,你能告诉我C++程序员最常见的错误/模式/风格是什么吗?例如,您是否注意到由C程序员编写的C程序与由C++程序员编写的C程序之间的差异?如果您能列出C++程序员对C语言的主要误解,我将不胜感激。
我想学习C语言,但虽然C++背景有帮助,但我担心它可能也会有坏处。我有一个奇怪的假设,除了一些关键字和库之外,我不需要学习其他任何东西,因为我知道C++。我对这种假设感到很遗憾,因为我确实认识到C++ != C,但有时当我在C++中使用C库或从其他人那里维护遗留的过程性C++时,区别会变得模糊。
顺便说一句,我不是在问C中没有的C++特性,或者我们/他们使用"malloc“而他们/我们使用"new”。
谢谢。
发布于 2011-06-08 00:56:19
我经常看到的一件事是适当地释放已分配的内存。尤其与包含动态分配的存储器的结构相关联。使用C++时,析构函数会被自动调用,如果编写得当,它们会负责相关对象的清理。使用C时,你必须记住要么释放分配给结构的所有内存,要么记得调用某种析构函数来为你做这件事。
发布于 2011-06-08 00:57:33
我不确定我是否认为这是一个“错误”,但是一个必须使用C的有经验的C++程序员很可能会创建许多看起来像类和虚函数表的东西。
这不一定是一件坏事,因为您当然可以用C进行面向对象的编程,但对于特定的问题来说,这可能有些过分了。
发布于 2011-06-08 00:57:39
从个人经验来看,我真的不能说,但我相信你可能会遇到一些微妙的问题,比如引用(在变量名前加上& )作为函数参数,enum如何不像C++中那样是完全限定的类型,涉及返回空指针的内存函数的东西……诸如此类的事情。
https://stackoverflow.com/questions/6268768
复制相似问题