C++自学精简实践教程
文章平均质量分 57
C++自学精简实践教程 内容来自于 C++ Primer 和工作中实际用到的语法精简;练习部分欧美形式,即充分的文档,填写关键代码式的练习,并配有测试用例。
C++程序员Carea
十年一线开发经验,热爱 C++ ,热爱编程
展开
-
C++自学精简实践教程 目录(必读)
1.1 创作背景在辅导欧美留学生本科C++课程的时候,发现手上没有一个超级迷你的C++教程。《C++ Primer》太大,国内教材基本上还停留在C with Class层面,不得要领,国外教材不同学校差异也比较大,侧重点也不同。所以急需一个超级小的,内容是必须掌握的知识点集合。顺便提一下,欧美名校的所有C++教程没有一个是C with Class 的。全都是标准C++,和C++ Primer 的内容完全一致。国内目前我带的学生当中复旦大学大一C++是没问题的,其他大部分学校依然堪忧。原创 2022-08-24 22:04:27 · 4463 阅读 · 0 评论 -
std::bitset
【代码】std::bitset。原创 2023-12-01 11:31:11 · 157 阅读 · 0 评论 -
Visual Studio 2017 安装
这篇文章会保证你第一次安装VS2017就成功运行Hello World!原创 2023-09-21 22:40:59 · 1046 阅读 · 2 评论 -
C++11 函数调用操作符重载 function 加减乘除四则运算计算器
function+bind可以实现按值传递函数对象,从而消灭多态,消灭回调。参考:《C++ Primer 第五版中文版》《Linux 多线程服务端编程》代码:#include #include #include #include using namespace std;int add(int i,int j) { return i+j;}class divide{p原创 2016-03-31 17:56:08 · 2315 阅读 · 2 评论 -
reverse_iterator 逆序迭代器
在上一篇中,我们看到了迭代器的基本用法。现在我们看看一个奇怪的现象。原创 2023-09-17 16:06:22 · 313 阅读 · 0 评论 -
C++知名开源库 整理收集
使用 CMake 构建:语法极其简单友好。原创 2023-09-02 13:07:59 · 724 阅读 · 0 评论 -
看看985高校的《数据结构》教材能差到什么程度
这个接口打算用来遍历二叉树,遍历不提供迭代器也就算了。又不想暴露内部节点结构,只返回节点里的值。只返回节点里的值也就算了,居然还返回的是拷贝,而不是引用或者常引用。C++被误导,误教,不足为奇了。大家觉得C++难,能不难么?我大学看到我们南航本科生的C++教材简直眼镜都要掉下来。由于大量的反复调用find来遍历,就使得成本高昂,不知道提供这种接口用来干嘛?清华严蔚敏的那本参考一下也不至于写出这么差的教材。网上下了一本教材,看看其内容,不禁开始吃鲸起来。我们的国家的栋梁之材就天天学习这样的教材。原创 2023-09-02 13:02:41 · 259 阅读 · 0 评论 -
学生辅导反馈
不过他后面想选他们学校的最难的C++课被我强行拦下。按照我的建议选修了其他课程。他的C++课程比较简单,属于入门级,大部分自己都可以搞定,只不过如果有人带一下就会彻底理解,自信心也就上来了。他们老师教的太烂,以至于学生讨厌这门课。1 密西根大学 这个留学生了一个A。基本上都是一对一,他写代码,我看着。3 美国留学大一C++基础课。2 国内985大二数据结构。4 美国留学C++数据结构。原创 2023-09-02 12:58:56 · 181 阅读 · 0 评论 -
相关C++学习网站和参考书
注意,不是《C++ Primer Plus》;坚决反对看任何中国人写的C++入门书籍,尤其是国内高校的教材。像字典,我经常用的,每个函数都有简单明了的示例代码,速学速用。《C++ Primer 5th Edition》 英文版电子书。原创 2023-09-02 12:56:44 · 227 阅读 · 0 评论 -
7.2 项目2 学生通讯录管理:文本文件增删改查(C 版本)(自顶向下设计+断点调试) (A)
该作业是 作业的C 语言版本。具体的作业题目描述,要求,可以参考。原创 2023-09-02 12:47:03 · 508 阅读 · 0 评论 -
7.1 项目1 学生通讯录管理:文本文件增删改查(C++版本)(自顶向下设计+断点调试) (A)
当你填写完整之后,运行程序和示例的交互输出一致,就算完成了这个作业。原创 2023-09-02 12:42:40 · 1867 阅读 · 0 评论 -
6.3 练习1 读取文件中的学生信息并显示 (自顶向下设计+断点调试) (A)
准备好一个文本文件data.txt,内容为:文件内容:文本。原创 2023-09-02 12:25:05 · 167 阅读 · 0 评论 -
类的静态成员变量 static member
类的静态成员 static member 变量全局只有一份副本,不会随着类对象的创建而产生副本。原创 2023-09-02 11:37:34 · 217 阅读 · 0 评论 -
构造函数与成员变量初始化
构造函数主要用来给成员变量初始化。让类对象有一个良好的开始状态。原创 2023-09-02 11:12:42 · 404 阅读 · 0 评论 -
堆对象数组
之前我们学习了基础类型的堆数组现在我们来看堆数组的元素是类对象的场景。原创 2023-09-02 10:34:41 · 277 阅读 · 0 评论 -
3.1.6 练习 基于GPA排名计算本专业保研名单
同时,我们需要从这个容器里查询某个学生的GPA数值,所以这个容器要求可以根据学生的ID来查询学生的信息。这个时候我们需要,遍历容器student_map ,把GPA数据拿出来,同时保留GPA和学生的对应关系。现在,我们把每个学生的考试成绩和各门课的学分都放在了学生类的内部存储。这样我们就可以对GPA排序,同时知道GPA和学生的对应关系。后面我们对每个学生计算出对应的GPA,也存在学生信息里。首先,我们需要一个学生类来描述和保存一个学生的数据。文章中的内容,我们就可以计算出每个学生的GPA。原创 2023-09-02 10:14:48 · 273 阅读 · 0 评论 -
lambda 表达式
lambda表达式实际上。和函数一样可以使用圆括号调用。只不过,这个函数可以定义在代码的任意位置。非常的。而函数不能定义在其他函数的内部。lambda表达式比函数更具有优势的地方在于,。原创 2023-08-30 23:24:27 · 298 阅读 · 0 评论 -
标准库STL容器使用值语义
即,无法将一个变量放到容器里。容器里存放的只是我们放进去的变量的拷贝(副本)。标准库STL的容器都是值语义的。原创 2023-08-30 21:56:50 · 314 阅读 · 0 评论 -
7.3 项目3 贪吃蛇(控制台版) (A)
模块划分文本文件读取UI与业务分离控制台交互数据抽象用户输入字母表示方向,实现贪吃蛇游戏。碰到边缘和碰到蛇自己都算游戏结束。原创 2023-08-27 21:10:09 · 1448 阅读 · 0 评论 -
《C++自学精简实践教程》哪些内容被精简掉了
我认为,对于初学者来说,理解复制控制已经足够。而且只需要理解复制控制,移动语义就是一句话的事情。如果复制控制没理解,就去研究移动语义,就等于还没学会走就想跑。注定是苦不堪言,得不偿失。移动语义主要用来解决大对象(例如标准库容器对象)从函数返回时深拷贝代价过大的问题。C++对值语义的支持主要体现在深拷贝时的复制控制。C++从C继承了值语义。移动语义是后来才出现的。原创 2023-08-24 21:23:46 · 425 阅读 · 0 评论 -
向函数传递参数(传值、传引用、传const引用)
向函数传递参数(传值、传引用、传const引用)原创 2022-09-03 18:57:47 · 911 阅读 · 0 评论 -
函数定义function definition与调用call
函数定义与调用原创 2022-09-02 10:10:58 · 962 阅读 · 0 评论 -
if语句(条件表达式)
if语句原创 2022-09-02 10:09:47 · 1022 阅读 · 0 评论 -
1.5.3 练习 数列前n项和
数列前n项和原创 2022-09-02 10:07:25 · 313 阅读 · 0 评论 -
名称空间namespace
名称空间namespace std原创 2022-09-01 10:10:11 · 525 阅读 · 0 评论 -
1.8.1 堆heap栈stack与指针变量pointer(地址变量)
动态内存和指针原创 2022-09-03 18:56:41 · 474 阅读 · 0 评论 -
1.5.4 练习 打印九九乘法表
打印九九乘法表原创 2022-09-02 10:08:28 · 284 阅读 · 2 评论 -
for循环语句
for循环语句原创 2022-09-02 10:06:23 · 333 阅读 · 0 评论 -
指针成员操作符
指针成员操作符原创 2022-09-03 19:06:25 · 227 阅读 · 0 评论 -
输入变量(cin 及字符串类型string)
输入变量(cin 及字符串类型string)原创 2022-09-01 10:18:24 · 1095 阅读 · 0 评论 -
算术表达式 expression
算术表达式原创 2022-09-02 10:03:08 · 283 阅读 · 0 评论 -
1.7.5 练习 交换两个变量的值
交换两个变量的值是计算机排序的基础工作。交换两个变量的值,需要借助一个中间变量来完成:原创 2022-09-03 18:57:38 · 442 阅读 · 0 评论 -
赋值语句 assignment statement(变量与常量const)
修改变量的值(变量与常量)原创 2022-09-02 10:00:53 · 661 阅读 · 0 评论 -
关系运算符和逻辑运算符 bool
关系运算符和逻辑运算符原创 2022-09-02 10:05:22 · 268 阅读 · 0 评论 -
整除/ 与 求余% 运算
整除/ 与 求余% 运算原创 2022-09-02 10:04:15 · 773 阅读 · 0 评论 -
1.7.7 练习 输出正整数N各个位上的数字
输出正整数n各个位上的数字编写函数print,实现输出正整数n各个位上的数字,前后数字用空格隔开原创 2022-09-03 18:57:14 · 1940 阅读 · 2 评论 -
模板函数 template function
模板函数原创 2022-09-03 18:57:27 · 608 阅读 · 0 评论 -
getline 读取一行内容
getline 读取一行内容原创 2022-09-02 10:01:33 · 801 阅读 · 0 评论 -
10分钟学会Visual Studio调试C++程序(CMake版)
Visual Studio 调试 F5断点执行原创 2022-09-03 18:57:02 · 593 阅读 · 0 评论 -
解引用 dereference operator
解引用原创 2022-09-03 18:56:26 · 1323 阅读 · 0 评论