编程的一些小知识点总结

  1. 1e6+5 = 1000005
    表示很大的数时,以前都是疯狂巧零,如果用1e6+5 = 1000005来代替的话会方便很多,而且也不容易出错。

  2. int mid=(l+r)>>1;//比特操作
    用二进制的移位操作,来进行简单的乘除法,左移(>>)相当于乘,右移(<<)相当于除

  3. fill函数,fill与memset函数的区别
    因为memset函数按照字节填充,所以一般memset只能用来填充char型数组,(因为只有char型占一个字节)如果填充int型数组,除了0和-1,其他的不能。因为只有00000000 = 0,-1同理,如果我们把每一位都填充“1”,会导致变成填充入“11111111”
    而fill函数可以赋值任何,而且使用方法特别简便
    具体看小姐姐的博客:http://blog.csdn.net/liuchuo/article/details/52296646

  4. stoi / atoi
    将string 转化int的方法
    stoi是string库中的函数,他的参数是string
    ato是c里面的函数,他们都可以将字符串转为int,参数是const char*,因此在用string时,必须调c_str()方法将其转为char*的字符串。
    比如
    string s=“123”;
    int v=atoi(s.c_str());
    int u=stoi(s);

  5. reverse() 反向

#include<algorithm>
#include<iostream>

int main()
{
    int a[10] = {};
    for(int i=0;i<10;i++)
    {
        a[i]=i;
    }
    //转换0~5下标的元素
    std::reverse(a,a+5);
    for(int i=0;i<10;i++)
    {
        std::cout<<a[i]<<std::endl;
    }
    return 0;
}
  1. ascii码
    a的ASCII码97,记二进制:0110 0001
    A的ASCII码65,记二进制:0100 0001
    刚好差了32

  2. string append方法的常用用法
    添加几个相同的字符:
    如str1.append(5, ‘.’);
    详情:http://blog.csdn.net/air_wswn/article/details/7785739

  3. sscanf和sprintf
    http://blog.csdn.net/noodies/article/details/4386570
    http://blog.csdn.net/sjf331/article/details/339254

  4. 向下取整和向上取整
    http://blog.csdn.net/fightingforcv/article/details/50491311

  5. tolower/toupper
    大小写转换

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值