只会 C 语言想进阶学学 C++,要怎么学,那些简单的语法看了好像问题都不大(跟 C 基本一样),但是到了那些面向对象的那些,就完全懵逼了,看不太懂。有什么好的教程或者数据推荐吗。
1
wutong0369 21 天前 1
c++各种类的封装由于历史原因,对阅读是十分不友好的,建议可以自己手搓 string 类从具体目的来理解面向对象.
|
2
PTLin 21 天前 2
现代的 c++和 c 几乎没什么关系了,你看作一个全新的语言也没什么问题,不要有会 c 就能速通 c++的错觉就好。
|
3
zjsxwc 21 天前 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 |
4
kagenomirai 21 天前 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 (计算机自学指南)这个网站吧。 |
5
donaldturinglee 21 天前 1
首先要消除 modern C++很容易速通这个想法。
你可以看这个 https://www.learncpp.com/自己学,规范的话可以去看看 cpp guidelines ,其他的善用搜索引擎吧 |
6
cnbatch 21 天前 1
这个应该发到 C++节点吧
不知道你对 C 的语言熟悉到了哪个标准。个人建议,先熟悉一下 C11 、C23 的内容,过一遍就行,因为新标准不少内容跟 Modern C++很接近。 然后买一本 C++发明人的教程看一看(The C++ Programming Language ,国内有中文版),搞清楚基础规则( RAII 、重载之类的),对 C++提供的语法、容器、工具有个了解,然后再做一些简单的程序,边做边学。 前面提到的 https://www.learncpp.com/ 也是不错的资源 至于面向对象嘛,你就先当作是 struct 当中内置 function ,然后弄着弄着就能理解 virtual 啊、Inheritance 之类的玩意。 老实说,我个人很少用到纯粹的“面向对象”,virtual 和继承都很少用到,非用不可时才用,可用可不用时就不用。 |
7
thorneLiu 21 天前 via Android 1
|
8
body007 21 天前 1
我是学了下 QT 教程,QT 标准库封装了很多 C++的类和方法,照着源码学习挺快的。
|
9
chuhades 21 天前 1
只用最基础的 cpp ,C+RAII+范型+constexpr ,就足够了。其他的太复杂了
|
10
rocky2024 21 天前 2
https://parallel101.github.io/cppguidebook/
先看这个 快速切入进去; 然后 根据 语法细节 , 翻译你写的 C++ 项目 体会 二者的微妙之处; 最后 看你 的喜好偏好 ; 看 LLVM 源码 很有意思的 ; 找里面有意思的看, 看懂就是有收获 |
11
anytk 21 天前 1
不如继续深入学 C ,玩转指针,多做应用。C++ 建议就拿来当 C with Class 比较好,只能说我自己脑容量不够,对 C++ 很多特性无法准确理解。越早对 C++ 祛魅 越好。
|
12
hatsuyuki 21 天前 1
先看这本书《现代 C++ 教程 高速上手 C++ 11/14/17/20 》 https://changkun.de/modern-cpp/
再对照 C++ 参考手册 https://zh.cppreference.com/w/%E9%A6%96%E9%A1%B5 |
13
fffq 21 天前
学啥 c++,学 rust 啊
|
14
mascteen 21 天前 1
c/c++现代方法
|