C 怎么进阶学 C++呀

1 天前
 zzzyk

只会 C 语言想进阶学学 C++,要怎么学,那些简单的语法看了好像问题都不大(跟 C 基本一样),但是到了那些面向对象的那些,就完全懵逼了,看不太懂。有什么好的教程或者数据推荐吗。

1207 次点击
所在节点    C++
14 条回复
wutong0369
1 天前
c++各种类的封装由于历史原因,对阅读是十分不友好的,建议可以自己手搓 string 类从具体目的来理解面向对象.
PTLin
1 天前
现代的 c++和 c 几乎没什么关系了,你看作一个全新的语言也没什么问题,不要有会 c 就能速通 c++的错觉就好。
zjsxwc
1 天前
看你兴趣爱好呗,遇到问题直接问豆包 gpt 等 ai 工具,很方便

比如 chromium 浏览器的源码
https://github.com/chromium/chromium/blob/main/net/base/upload_file_element_reader.h

比如 octave 的源码
https://github.com/gnu-octave/octave/blob/default/liboctave/array/dMatrix.h
kagenomirai
1 天前
理解不了 C++ 的面向对象,分两种情况吧。
一是理解不了 C++ 语法,像什么 virtual friend 这种,还有各种 practice 像 RAII rule of five 什么的。这种可以自己实现个容器类试试,看看 effective C++ 和 CppCon 的 back to basic ,不过最好别深究,标准可以看到死。
另外推荐一下 StackOverflow 上有个 C++ 的书单: https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list

二是理解不了面向对象这种抽象方式,疑惑什么是面向对象,为什么要面向对象,我像 C 一样写一堆函数不行吗,等等此类问题,我想到最好的书应该就是 SICP 了(看 JS 版顺便还能入门 JS )我只大概翻过,这本书对如何用抽象来进行编程做了系统的解释,特别适合新手。不看这本书也可以多写写代码,时间久了也能领悟书上的内容。
伴随着 SICP 的还有伯克利的课程 CS61A 这几年换了教材 Composing Programs 用 python 写的,和 SCIP 差不多。
最后推荐一下 csdiy.wiki (计算机自学指南)这个网站吧。
donaldturinglee
1 天前
首先要消除 modern C++很容易速通这个想法。
你可以看这个 https://www.learncpp.com/自己学,规范的话可以去看看 cpp guidelines ,其他的善用搜索引擎吧
cnbatch
1 天前
这个应该发到 C++节点吧

不知道你对 C 的语言熟悉到了哪个标准。个人建议,先熟悉一下 C11 、C23 的内容,过一遍就行,因为新标准不少内容跟 Modern C++很接近。

然后买一本 C++发明人的教程看一看(The C++ Programming Language ,国内有中文版),搞清楚基础规则( RAII 、重载之类的),对 C++提供的语法、容器、工具有个了解,然后再做一些简单的程序,边做边学。

前面提到的 https://www.learncpp.com/ 也是不错的资源

至于面向对象嘛,你就先当作是 struct 当中内置 function ,然后弄着弄着就能理解 virtual 啊、Inheritance 之类的玩意。
老实说,我个人很少用到纯粹的“面向对象”,virtual 和继承都很少用到,非用不可时才用,可用可不用时就不用。
thorneLiu
1 天前
body007
1 天前
我是学了下 QT 教程,QT 标准库封装了很多 C++的类和方法,照着源码学习挺快的。
chuhades
1 天前
只用最基础的 cpp ,C+RAII+范型+constexpr ,就足够了。其他的太复杂了
rocky2024
9 小时 36 分钟前
https://parallel101.github.io/cppguidebook/
先看这个 快速切入进去;
然后 根据 语法细节 , 翻译你写的 C++ 项目 体会 二者的微妙之处;
最后 看你 的喜好偏好 ;
看 LLVM 源码 很有意思的 ; 找里面有意思的看, 看懂就是有收获
anytk
9 小时 18 分钟前
不如继续深入学 C ,玩转指针,多做应用。C++ 建议就拿来当 C with Class 比较好,只能说我自己脑容量不够,对 C++ 很多特性无法准确理解。越早对 C++ 祛魅 越好。
hatsuyuki
9 小时 16 分钟前
先看这本书《现代 C++ 教程 高速上手 C++ 11/14/17/20 》 https://changkun.de/modern-cpp/
再对照 C++ 参考手册 https://zh.cppreference.com/w/%E9%A6%96%E9%A1%B5
fffq
8 小时 6 分钟前
学啥 c++,学 rust 啊
mascteen
6 小时 50 分钟前
c/c++现代方法

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

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

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

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

© 2021 V2EX