C++ 小技巧

来源:互联网 发布:大数据分析工作 编辑:程序博客网 时间:2024/06/16 05:56

1.在G++中 单纯将char类型存入map中  会比将char存入string类中再将string类存入map中慢很多

  其他类容器也类似.

2.std::ios::sync_with_stdio(false);  " 加速器"  用于纯C++的输入输出(cin,cout),不要有printf,scanf.


3.poj G++不支持 %lf,要用%f. 

   STL在C++中比G++快很多


4.   迭代器就是指针。指向这个关联容器啊,关联容器有键和值,first就是键,second就是值。
    map<string,int >::iterator i;   //比单纯的输出map[]的优势在于 他是按排列字典序输出的
    cout.setf(ios::fixed);            //控制输出格式
    for(i=mp.begin();i!=mp.end();i++)    
   {
     cout<<setprecision(4)<<i->first<<" "<<100.0*(i->second)/cnt<<endl;
   }


#include<iomanip>

cout.setf(ios::fixed);            //控制输出格式

cout<<setprecision(n)     使其后输出的浮点数保持n位小数


5.sort  只针对连续的地址进行排序

对char类二维数组进行cmp时,可以先将他们存入结构体中转变成结构体一维数组排序.


6.memset可以对int数组进行0,-1,INF,-INF初始化,不可对1,2,等初始化

  对于字符数组,可以进行任意字符的初始化,'1','#'....和0.




1 0