1.作动态组字符串操作的时候,一定要比实际长度多分配一个结束符,并将最后一个字符设置为NULL.
2.尽量使用vector来代替数组.
3.尽量使用string来代替char*.
4.利用for_each,generate...等STL容器算法,来代替手写的数组循环访问操作语句。
5. 使用语言来计算静态数组大小, 这里有一个比较有用的宏
#define NELEMS(static_array) (sizeof((static_array) ) / sizeof(static_array[0]))
6.禁止使用多态对象数组(见More Effective C++ Item 3: Never treat arrays polymorphically)
7. 使用memcpy时候要确保源数组和目标数组尺寸都大于等于拷贝的尺寸,并且两者地址没有重叠.
2.尽量使用vector来代替数组.
3.尽量使用string来代替char*.
4.利用for_each,generate...等STL容器算法,来代替手写的数组循环访问操作语句。
5. 使用语言来计算静态数组大小, 这里有一个比较有用的宏
#define NELEMS(static_array) (sizeof((static_array) ) / sizeof(static_array[0]))
6.禁止使用多态对象数组(见More Effective C++ Item 3: Never treat arrays polymorphically)
7. 使用memcpy时候要确保源数组和目标数组尺寸都大于等于拷贝的尺寸,并且两者地址没有重叠.