C+难学,但是有人说很多时候C+又比C语言要好学习?这可能吗?
是的 。 C是一种简单的命令式编程语言 。 如果您以前曾经编程过 , 则可以在大约六周内拿起C 。 在C++出现之前 , 这就是编程语言的方式 。 Pascal为六个星期 , C为六个星期 , BASIC为两个星期 。
【C+难学,但是有人说很多时候C+又比C语言要好学习?这可能吗?】您可以将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版本很容易出错 , 并且当您弄错它们时 , 编译器给出的错误消息也很难解释 。
- 英伟达卖挖矿芯片挣了1.55亿美元,但游戏业务仍占主导地位
- 离婚另娶新欢、离职但“不退休”,全球首富到底想干嘛?
- 德勤预测:明年科技趋势将是视频医疗,但5G会带来健康风险吗?
- 养老小镇成SpaceX发射基地,马斯克带来大钱但居民苦不堪言
- 虽然缺乏科技巨头,但欧盟仍成为科技巨头的监管“巨头”
- 微软有意打造超级应用,但真的有这个能力吗?
- 小米科技|小米手机的体验不错,品控整体来说还行,但是偶尔会出现一些问题
- 安卓|苹果系统虽然好用,但其封闭性必然有缺点,安卓的好处在于开放
- 魅族|魅族20现身Geekbench:配骁龙8Gen2,但性能调校却差了几分!
- 黑洞能吞噬万物,但也不是永恒的,诞生和消亡也是它的必经之路