首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C+难学,但是有人说很多时候C+又比C语言要好学习?这可能吗?

是的。 C是一种简单的命令式编程语言。如果您以前曾经编程过,则可以在大约六周内拿起C。在C ++出现之前,这就是编程语言的方式。 Pascal为六个星期,C为六个星期,BASIC为两个星期。

您可以将C ++称为多重范例编程语言。它的命令式语法与C相同,因此他可能与开始学习C所需的时间相同。

但是随后您必须学习课程和面向对象的程序设计。 OO编程非常微妙。您可能需要几个月的时间才能相信自己可以执行别的操作。

然后是模板和模板元编程。您可能需要花费数年的时间来学习。还有异常处理。并且您至少需要对模板有一个基本的了解(对于RAII),才能有效地使用异常处理。

C ++有一个很大的I / O流,子系统需要学习。然后是标准的库容器,算法和迭代器。这是一个难懂但是得学的内容。

任何人,我的意思是任何声称自己可以在六周内学习完C ++的人都充满了自负的味道。也许您可以学到足够的知识来阅读别人的C ++代码,然后逐渐获得理解。但最好不要在没其他人检查的情况下实际使用它。

为什么很多东西在C中容易出错?

C无法将通用功能结构化或组合在一起。如果您要使用C构建一个非常大的程序(例如,超过100,000行代码),则C的单个全局名称空间会被符号污染。诸如get()或do()之类的简单函数必须在名称上附加一个名词,以说出您正在获取或移动的东西,因此您需要使用getFoo()和doBar()来将它们与类似命名的getBlah()和doZoo()比较。同样,您要操作的对象不仅是隐式或者属于全局名称空间的一部分,而且还必须是该函数的参数。现在您有了getFoo(&myFoo)和doBar(&thatBar)。实际上,您正在执行的操作是创建C ++类。

如果您曾经在C中使用函数指针,或者一连串的if / else语句,或者选择了要调用的函数的开关很大,这表明您真正想要的是C ++中的虚函数。如果编写包含代码且看起来像函数的C宏,那么您想要的是C ++模板函数。这些问题的C版本很容易出错,并且当您弄错它们时,编译器给出的错误消息也很难解释。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210412A0CEW600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券