程式設計的一些小知識點總結
阿新 • • 發佈:2019-02-12
1e6+5 = 1000005
表示很大的數時,以前都是瘋狂巧零,如果用1e6+5 = 1000005來代替的話會方便很多,而且也不容易出錯。int mid=(l+r)>>1;//位元操作
用二進位制的移位操作,來進行簡單的乘除法,左移(>>)相當於乘,右移(<<)相當於除fill函式,fill與memset函式的區別
因為memset函式按照位元組填充,所以一般memset只能用來填充char型陣列,(因為只有char型佔一個位元組)如果填充int型陣列,除了0和-1,其他的不能。因為只有00000000 = 0,-1同理,如果我們把每一位都填充“1”,會導致變成填充入“11111111”
而fill函式可以賦值任何,而且使用方法特別簡便
具體看小姐姐的部落格: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);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;
}