常见的编程小技巧

1.cout<< xxx << endl 转换为string

#include<sstream>
#include<iostream>
#include<string>
using namespace std;
int main()
{
  stringstream conv;
  conv<<"Initial mem(" <<i <<")" <<":"  << points  << " Success......"; 
  string str;
  conv>>str;
  return 0;
}

 

 2.stl的使用心得
 
2.1:find找到之后,直接使用[]得到数据

337 if (user_feature.find(vid_feature[i]) != user_feature.end())
338 {
339 sum_score += user_feature[vid_feature[i]];

好处:不用迭代器了。

 

2.2:直接使用引用得到对象

357 if (it == file4_user_sim_neighbor_data.end())
358 {return ret;}
359
360 std::vector<sort_myclass> & user_neighbors = it->second;

好处:节省内存开销

注意:需要先判断对象存在

 

2.3 使用新的变量名字来表示这个值的业务,而不要直接使用该值

436 for (std::set<std::string>::iterator it_i = file9_user_white_id_data.begin();
437 it_i != file9_user_white_id_data.end();
438 it_i++)
439
440 {
441 std::string user_1 = *it_i;

好处:知道业务的作用

坏处:多了一个变量的空间

 

3.写代码的时候

3.1:逻辑比较多,先写步骤的注释,在写每个子步骤,注意每个子步骤的输入和输出

 

3.2:一个函数逻辑比较多,可以把依赖少的封装成函数,增加可读性

 

4.hiredis中使用hmget的一个坑

http://blog.csdn.net/tao_627/article/details/38685031

void *redisCommand(redisContext *c, const char *format, ...);

这里说明一个redisCommand的用法,在C++环境中,可以只要format常量字符串,不要后面的变量,但是如果你非要的话,一定要保证它们是单个不含空格的字符串。

 

posted @ 2017-06-26 10:47  dodng  阅读(201)  评论(0)    收藏  举报