做安卓开发 6 年了,最近业务要切 C++,听说 C++学习很陡峭,求前辈们聊聊

2023-07-22 17:23:02 +08:00
 WhoCanBeRich
  1. 学习 C++陡峭的原因是啥呢?是因为知识太多很难学吗?

  2. 关于切 C++,我自己是很乐意的,相当于公司再慢慢培养我掌握 C++的能力,听说 C++待遇也会更高一些,学习 C++有什么好的建议吗,或者有什么坑吗?

  3. 我在慕课上找了一门课,看着还行,前辈们帮忙把把关看看可以吗?

毕竟一个课程看完都要一个月了,提前选下课程不浪费时间。

https://coding.imooc.com/class/414.html#Anchor

  1. 如果只用手机来学 C++的话,有什么 app 推荐吗?

自己上下班坐地铁通勤时间比较多,想在路上也巩固学学 C++,

在微信读书上搜了一下 C++发现都是超级大厚书

--------->

提前跪谢大佬前辈们,看到有用的回复一律感谢投币。谢谢

1501 次点击
所在节点    问与答
8 条回复
iOCZ
2023-07-22 17:50:01 +08:00
大部头无所谓吧,面向对象基础你已经有了,有些内容可以跳过。经典的要看,然后有一些专门介绍新标准的也要看看,作为补充。
jack4536251
2023-07-22 18:03:54 +08:00
其实看看语法就行了,边做边学
weidaizi
2023-07-22 18:29:53 +08:00
* 我十几年前是看《 c++ primer plus 》,算是基础书吧,虽然厚但是挺简单的。c++ 看似很庞大,但是和大多数语言一样,也是 2/8 法则,大多数时候用到的都是 20% 语法。 不要沉迷于复杂的语法,根据工作需求,边学边做吧。
* c/c++ 如果做应用的话,cmake 要看一下,算是 c/c++ 做应用事实上的构建系统标准工具了,可以理解为 mvn 或者 gradle 之于 Java 的感觉 (现在还有 meson 啥的,但是这个不看也影响不大)。
* 最后是包管理有 conan 和 vcpkg ,不过这个不会倒也无所谓,比如我平时要么就是用自己写的包管理工具,要么直接把所有依赖全部在工程中源码编
GeruzoniAnsasu
2023-07-22 19:28:09 +08:00
across
2023-07-22 19:33:40 +08:00
学习曲线为什么陡峭?
A: 因为 C++包含了 C 的底层操作能力,所以性能上限很高。 另外范式写法比较自由,纯 C 类型面相过程,面相对象,函数式编程,元编程能力都很齐。实际上大部分人只用(也只需要)一部分就可以了。

最重要的是··· 你没写开发场景,语言特定要针对业务场景取舍。
smallboy19991231
2023-07-22 22:36:14 +08:00
想学好 C++就必须拿大部头书来系统的看
ajaxgoldfish
2023-07-22 22:39:53 +08:00
其实我对 C++的了解面向对象在 C++中并不那么重要,以后的发展也会淡化对象编程。
pocarisweat
2023-07-23 22:12:54 +08:00
C++的复杂性来自于:

1. 像 C 一样,和底层打交道的语言天然就会有很多复杂度。C/C++工具链和系统高度耦合,要有能力在实际环境里部署 C++代码就必须得对 linker 、runtime 这些东西有一定了解。这个可以遇到某个问题了再作为切入点去学习。而且 C/C++编译器本身发展历史很长,了解各种常见选项也是一个历史负担。

2. C++融合了不同方面的各种语法,包括从 C 拿过来的、面向对象的、玩模板的,一旦这些语法要素融合在一起,语法的复杂程度就会非常高(会变成 N*M 而不是 N+M )。不过如果只是用到某一块语言特性,其实 C++没有那么恐怖。

主要还得遇到具体情况具体看,抽象地说 C++如何复杂对写 C++代码没什么意义。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/958831

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX