1、成员方法、变量,尽量声明为const,防止成员变量被修改。
int getValue(const std::string key)const;
//常函数只能调用常函数,并且不可修改成员变量
2、Map取值时,务必首先要判断key是否存在(同理vector取值前,也要做vector.size()>0判断):
std::map <std::string std::string>m_mMapping_
//判断是否存在
if(m_mMapping_.find(vWord[0]) == m_mMapping_.end())
std::cout<<"没找到~"<<std::endl;
3、使用define声明某些常量时,尽量包在当前命名空间,所以建议使用枚举代替,避免冲突,举例如下:
//定义一个枚举类型
enum e_Type
{
RANDOM,
ALL,
};
//方法getValue默认参数为常量RANDOM
std::string getValue(int key_data, e_Type type = RANDOM);
//--注意,声明时带默认参数赋值,定义时不要带默认参数赋值,否则会报错,即就是形如下的定义方式
std::string getValue(int key_data, e_Type type)
{
}
4、空容器在使用前或者再次使用前,请务必做清理操作:
std::vector<std::string> vWork;
//清空
vWork.clear();