首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++程序员的C陷阱和错误

C++程序员的C陷阱和错误
EN

Stack Overflow用户
提问于 2011-06-08 00:51:39
回答 4查看 749关注 0票数 3

如果你是C程序员或精通C的C++程序员,你能告诉我C++程序员最常见的错误/模式/风格是什么吗?例如,您是否注意到由C程序员编写的C程序与由C++程序员编写的C程序之间的差异?如果您能列出C++程序员对C语言的主要误解,我将不胜感激。

我想学习C语言,但虽然C++背景有帮助,但我担心它可能也会有坏处。我有一个奇怪的假设,除了一些关键字和库之外,我不需要学习其他任何东西,因为我知道C++。我对这种假设感到很遗憾,因为我确实认识到C++ != C,但有时当我在C++中使用C库或从其他人那里维护遗留的过程性C++时,区别会变得模糊。

顺便说一句,我不是在问C中没有的C++特性,或者我们/他们使用"malloc“而他们/我们使用"new”。

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-08 00:56:19

我经常看到的一件事是适当地释放已分配的内存。尤其与包含动态分配的存储器的结构相关联。使用C++时,析构函数会被自动调用,如果编写得当,它们会负责相关对象的清理。使用C时,你必须记住要么释放分配给结构的所有内存,要么记得调用某种析构函数来为你做这件事。

票数 3
EN

Stack Overflow用户

发布于 2011-06-08 00:57:33

我不确定我是否认为这是一个“错误”,但是一个必须使用C的有经验的C++程序员很可能会创建许多看起来像类和虚函数表的东西。

这不一定是一件坏事,因为您当然可以用C进行面向对象的编程,但对于特定的问题来说,这可能有些过分了。

票数 1
EN

Stack Overflow用户

发布于 2011-06-08 00:57:39

从个人经验来看,我真的不能说,但我相信你可能会遇到一些微妙的问题,比如引用(在变量名前加上& )作为函数参数,enum如何不像C++中那样是完全限定的类型,涉及返回空指针的内存函数的东西……诸如此类的事情。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6268768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档