C++个人知识点归纳
少壮不努力,老大徒伤悲;莫等闲,白了少年头,空悲切
谈谈对编程的个人理解
才开始学习编程:最初学的是js,学的都是语法。如基础类型是怎么定义的,数据是怎么访问和修改(增删改查)的,循环是怎么控制的。再深一点,就是框架的使用,用的基本都是别人实现好的东西。那时我对程序的理解就是写代码。
后来接触python:python由于有强大的开源社区和开源库,实现功能非常方便,那时我对程序的理解就是实现function。
后来,开始学习java:对面向对象有了初步的了解。开始只知道有类,对象这个东西,会基本的操作,但是不明白这个东西有什么用。后来学习Spring渐渐感受到类的强大之处, 它可以隐藏和定向暴露自己的属性,可以做接口,可以作为函数的参数、其他类的成员,可以被继承,有多态(影响最深的是用golang解析excel,当时golang解析excel的库主要有2个,一个是解析.xls,一个是解析.xlsx的,那么我们就可以根据传入参数扩展名的不同,用不同的库去处理),从而实现我们想要的功能。 接口是个好东西:由于接口是唯一的,任何人拿到这个接口,都不会有疑问,因为数据结构已经定了,所以多人协作也就成了可能。这时,我对程序的理解就是实现接口。
后来学习c,c++:接触了指针(基本类型指针,数组指针,类,常量指针,函数指针。。。),知道指针可以作为参数,也可以作为返回值,好像可以随便传递,明白C/C++学好指针可以走遍天下。
再通用一点程序就是操作数据结构。
eg:无论任何语言,要实现一个功能函数,你需定义传入类型和返回类型。 有了类型,接着就是靠基本功解析这些数据结构,然后返回自己拼装好的数据结构。
在这里就体现出来了数据结构的重要性,但是如何有效地操作数据结构呢?这就涉及到算法的问题了。
等熟悉算法了,只要明白别人的架构图,加上自己对操作系统的理解,就可以撸一个框架出来。
谈谈学习C++的习得
- 在使用别人的接口(api)的时候,多想想如果让自己去实现,自己会怎么做,为什么参数是这样的