1 C++核心方法总论
1.1 核心思想
通过实际项目来学习编程,更高效掌握编程规则,以及明白各种语法规则的实际应用。
实验思想:任何C++的参考资料都不可能覆盖你遇到的所有问题,这个时候,最好的办法就是,编辑代码试一试,理论分析这些有用,不过最终还是要归结到亲自实验验证!
1.2 学习C++的方法论
1.2.1 核心方法
- 在实战中学习
- 在错误中学习
- 及时回顾复习
1.2.2 具体实操方法
- 掌握编程思维
- 不刻意记忆语法规则,修炼实战技能
- 在循序渐进的实战项目中学习
- 不断试错,在错误中学习成长
1.2.3 解决错误的办法
- 自己研究30分钟
- 查阅书籍资料,百度谷歌等
- 重复1,2,如果实在解决不了可以问高手牛人
- 将问题解决方案记录下来(CSDN博客)
- 及时回顾复习,在以后遇到类似问题时候,强化刺激,进一步加深理解
- 补充说明:对于初学者来说,建议“不懂就问”,自己研究很可能是在浪费时间
1.2.4 C++语法学习法则
1.2.4.1 核心原则
记忆语法规则不是最关键的,能够在实战中灵活运用才是最重要的!不要刻意记忆各种语法规则,能够掌握常用的即可。
1.2.4.1 最原始本质的语法规则
- 各语法单位之间,由至少一个分隔符隔开,分隔符有:空格、缩进符(Tab)和换行符(Enter)。
举例说明:
/*常见风格一*/
int main(void)
{return 0;
}/*常见风格二*/
int
main(void)
{return 0;
}
- 所有字符必须是英文状态下的(字符串内容除外)
- 每一句完整的指令最后要加上“;”(英文的分号)【注意,在C/C++中,分号是语句的组成部分,并不是分隔符】
- #include、#define 等预处理命令,必须一行一条
1.2.5 核心学习回路
1.3 C++开发环境
1.3.1 概念
C++开发环境,即C/C++程序员的工具包,能够让程序员实现如下操作:
- 编辑代码
- 编译、链接
- 调试
- 运行程序
1.3.2 开发工具
即构建开发环境所需要的工具,开发环境至少包含
- 编辑器:程序员编辑代码的工具
- 编译器:将程序员的代码转换为计算机可识别的代码的工具
- 调试器:程序员用来解决bug的工具
1.3.3 开发工具的种类
- 分开:编辑器,编译器,调试器是三个不同的工具
- 集成:IDE(集成开发环境),三个工具整合为一个
1.4 编程的本质
1.4.1 编程的本质
- 对数据的控制,失控是会造成灾难的,失控就是bug,bug就必须要修复
- 对数据的处理,函数是处理的方法
- 编程,就是用程序员的思维,控制计算机来完成对数据的处理。因此编程思维修炼至关重要
1.4.2 C/C++的特点
C/C++与其他语言的最大的区别,在于【极度掌控】,能够直接控制内存的使用
1.4.3 程序失控造成的灾难
计算机时钟 BUG 导致美军海湾战争中,唯一过百的伤亡(死 28 人,伤 100 余人)
BUG 事件:1991 年 2 月,美军的爱国者反导弹系统失效,未能拦截伊拉克的飞毛腿导弹,宰
赫兰基地被炸毁,场炸死 28 个美国士兵,炸伤 100 多人,造成美军海湾战争中唯一一次伤
亡超过百人的重大损失。
BUG 分析:爱国者反导弹系统,每工作 1 小时,系统时钟延时 3ms 左右,当时已经连续工作
了 100 小时,延时达到三分之一秒!飞毛腿导弹足以击中目标了!
1.4.4 避免失控
我们一定要关注,并且避免程序的失控,一定要提高程序标准,这是一门需要高精密水准的专业技能。
可能出现的、不易察觉的失控【编译链接通过,程序运行良好,但是有潜在隐患】
- 内存泄露
- 堆栈溢出
- 小规模数据运行良好,大规模数据运行崩溃
- ……
以上都需要可以关注和避免!在以后章节的学习中要关注细节,这非常重要,否则,他们可能造成很大的灾难!
1.5 代码风格与规范
个人有自己独特的代码风格,但是,在与公司的代码规范要求不冲突的前提下,才能使用自己的代码风格,初学者建议跟随着牛人、专业书籍中的代码规范进行模仿学习,是的,对于初学者来说,模仿真的很重要。
【版权声明】C++学习之路系列内容,是本人跟随ROCK老师的课程学习,加上书籍的研究,经过思考实践后记录下来的内容,内容涉及到老师的课程内容,若侵权请联系我删除。
在此也附上我学习课程的链接:https://ke.qq.com/course/388295