如何系统地学习 C++ 语言?

news/2024/12/23 22:39:31/

C++ 最大的缺点就是语法复杂,而且难学难精。

学习 C 语言也许一本 K&R 的《C程序设计语言》就够了,但是在 C++ 世界里,找不到这样一本书。在这个爱速成的年代,大家可能耐不住寂寞花很长时间去学习一门语言,所以可以看看《21天学通C++》。但是想要学好C++的话,还是需要很长时间的。在学精学好过程中,离不开读大量的书籍和标准库文档。

对于0基础的学员,可以看看网上的 C++ 入门教程,匠心之作|C++教程从0到1入门编程,icon-default.png?t=MBR7https://www.bilibili.com/video/BV1et411b73Z/?spm_id_from=333.999.0.0

(1)了解并且掌握所有编程语言中共同的、最基本的那些概念:变量、常量、类型、循环、判断、数组、字符串、对象、输入输出等

(2)了解C++中一些特有的东西,如:命名空间 namespace、引用、模板等。

(3)知道如何使用一些 STL 中的类库,如:string、vector、find 等。

另外学C++, 向你推荐一些书(当然能够结合课内项目实践更好)

1️⃣ The C++ Programming Language(Bjarne Stroustrup)

2️⃣ Inside The C++ Object Model (Stanley B. Lippman)

(这本书介绍一些C++的内部实现)

3️⃣ Advanced C++ Programming Styles And Idioms (James O. Coplien)

(这本书介绍一些C++编程的习惯用法)

4️⃣ STL Tutorial and Reference Guide (David R. Musser) (Professor Musser

是我母校的教授,STL的创始人之一。这本书介绍Generic Programming

的思想和标准)。

5️⃣ Design Patterns (Erich Gamma) (很精典的面向对象设计的组件和实例)

当然,看任何一本书的时候都要动手(试例程或做习题)。然后尝试着在课堂项目中把书中的方法试验一下,以加深印象。"

C++ 练手项目

interview

地址:GitHub - huihut/interview: 📚 C/C++ 技术面试基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。This repository is a summary of the basic knowledge of recruiting job seekers and beginners in the direction of C/C++ technology, including language, program library, data structure, algorithm, system, network, link loading library, interview experience, recruitment, recommendation, etc.

Star:24.4k

C/C++ 技术面试基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识。

这是一个比较适合初学者的C++项目,沉淀了面试过程中C++相关的一些问题和解答,这些知识相对于书本上的内容,更加贴合项目实战,往往都是实际项目中会遇到的一些问题。

因此,这个项目可以让我们脱离书籍和教程,学到很多有实战价值的C++知识和技巧。

tinytetris

地址:https://github.com/taylorconor/tinytetris

Star:1.7k

这是一个利用C++实现的俄罗斯方块的小项目,相对于那些大型项目,这个项目对初学者比较轻松,而且把C++和耳熟能详的游戏开发有机的结合到一起,这会让学习者有更加直观的感受,也有更加强烈的代入感,能够把学习者的注意力吸引到程序的设计过程中。例如,如何实现方块图像?如何实现方块的移动和选择?如何实现消除和积分功能?

这些抛出的问题在这个小项目中都可以找到解答。


http://www.ppmy.cn/news/12070.html

相关文章

【蓝桥杯简单篇】Python组刷题日寄Part08

刷题日记?刷题日寄! 萌新备战蓝桥杯python组 🌹 发现有需要纠正的地方,烦请指正! 🚀 欢迎小伙伴们的三连关注! 往期系列: 【蓝桥杯简单篇】Python组刷题日寄Part01 【蓝桥杯简单篇】…

微信小程序页面导航、编程式导航、页面事件、生命周期和WXS脚本

文章目录页面导航1.导航到tarBar页面2.导航到非 tabBar 页面3.后退导航编程式导航1.导航到tabBar页面2.导航到非 tabBar 页面3.后退导航导航传参1. 声明式导航传参2. 编程式导航传参3. 在 onLoad 中接收导航参数页面事件下拉刷新上拉触底数据请求获取中添加loading效果,请求完毕…

会话技术--cookie和session

一、会话跟踪技术的概述 对于会话跟踪这四个词,我们需要拆开来进行解释,首先要理解什么是会话,然后再去理解什么是会 话跟踪: 会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接&#…

C语言 atoi 函数解析

文章目录前言atoi函数的介绍atoi函数的使用atoi函数的自我实现写在最后前言 对于atoi函数大家可能会有些陌生&#xff0c;不过当你选择并阅读到这里时&#xff0c;请往下阅读&#xff0c;我相信你能对atoi函数熟悉该函数的头文件为 <stdlib.h> 或 <cstdlib> atoi函…

Python学习笔记-PyQt6工具栏

工具栏工具栏可以有多个&#xff0c;而且可以设置不同的位置参数。4.1工具栏位置参数QtCore.Qt.ToolBarArea.LeftToolBarAreaQtCore.Qt.ToolBarArea.RightToolBarAreaQtCore.Qt.ToolBarArea.TopToolBarAreaQtCore.Qt.ToolBarArea.BottomToolBarAreaQtCore.Qt.ToolBarArea.AllTo…

【学习笔记】【Pytorch】七、卷积层

【学习笔记】【Pytorch】七、卷积层学习地址主要内容一、卷积操作示例二、Tensor&#xff08;张量&#xff09;是什么&#xff1f;三、functional.conv2d函数的使用1.使用说明2.代码实现四、torch.Tensor与torch.tensor区别五、nn.Conv2d类的使用1.使用说明2.代码实现六、池化公…

2022__我的嵌入式入坑之路

目录 一、学习篇 51单片机&#xff1a; python爬虫&#xff1a; stm32单片机&#xff1a; ad&#xff1a; 立创EDA&#xff1a; openmv&#xff1a; ardunio&#xff1a; ESP32&#xff1a; 汇编语言&#xff1a; ROS&#xff1a; FreeRTOS&#xff1a; matlab&a…

自动驾驶中3D目标检测综述

1 背 景 1.1 3D目标检测 3D目标检测是通过输入传感器数据&#xff0c;预测3D目标的属性信息的任务。如何表示3D目标的属性信息是关键&#xff0c;因为后续的预测和规划需要这些信息。在大部分情况下&#xff0c;3D目标被定义为一个立方体&#xff0c;(x,y,z)是立方体的中心坐…