vector是灰常常用的数据结构之一了
随便看看就知道它的用法,这个不是本文重点。
在意识里,对其的使用应当有三个阶段
及格:对元素访问做保护,可以迭代器访问也可以下标访问,这个看习惯,但是一定要做保护,防止越界访问或者迭代器失效。
良好:对于一些情况,要有意识对vector做优化,比如预先知道vector的大小,或者作为静态数据读取的存储,等等一些可以预估数据量的情况,预先分配大小。
这个也是写在书里和各个教程里的,但是少有人使用。这样做可以防止或者减少vector的大小在不断增大时产生的不断析构和构造开销。
优秀:把常规的优化和保护转化为潜意识。说道理的时候大家都懂,正儿八经写的时候,付诸实践的时候,要有原则,要提手就写规范的东西。而不是随意的写。
例如:if语句中判断相等,都知道 1 == i 更好,就应该都这么写,把它当做必须要做到的事情。
有一个想法,vs有纠错功能,如果可以出一个纠正规范的功能,类似上面的,每个项目都写一个自己项目的规范进去,再进来的人如果书写没有达到规范就报错。。。
编程习惯是一个与能力本身关系不大的东西,只要自己对自己有要求(处女座会很容易o(╯□╰)o),都是可以做到的。
这样做的价值,去看看自己项目中非常非常老的,已经走很久的人写的代码就会明白。