便利贴

int a[2][10];

int *q;

int (*p)[10];

q = a[1]; //a[1]指向一个元素

p = a+1; //a+1指向一行

 

运算符重载: .  .* ::  ?:  sizeof 不可以重载

1.   对于单目运算符,建议选择成员函数

2.   对于=,(),[],->只能为成员函数

3.   对于+=,-=,…,%=建议为成员函数

4.   对于其他,建议为由原函数

5.   对于<<,>>输入输出运算符只能作为友元

 

栈区  堆区   全局区/静态变量    代码区

 

运算符优先级

1.   [] () . ->  左->右

2.   – (类型转换) ++ -- * & ! ~ sizeof  右->左

3.   / * %

4.   + -

5.   << >>

6.   > >= < <=

7.   == !=

8.   &

9.   ^

10. |

11. &&

12. ||

13. ?:

14. = /= += …  右->左

 

a^(p-1) = 1mod p , (a, p) = 1

Lucas(a, b, q)= c(a%q, b%q) * Lucas(a/q, b/q, q)

 

int (*f())[10]{

    int (*m)[10];

return m;

}

typedef int (*PA)[10];

typedef int (*PF)(int, int)

int (*m)[10];

int a[10][10];

int b[10];

m = a; //Right

m = &b;//Right

 

\d \D \w \W \s\S \b \B [A-Z] {3, 6} [^a-z] {3, } * . ? + ()

(?=exp) //后面

(?<=exp) //前面

(?!exp)   (?<!exp)  (?#comment)

 

dynamic_cast 主要用于有虚函数的父子类指针式引用之间转换

static_cast 主要用于有继承关系的父子类指针或医用之间的转换,并用于基本类型与类对象之间的转换

reinterpret_cast用于任意指针之间的转换

static_cast,reinterpret_cast 要么成功,要么编译时报错,dynamice_cast失败返回空指针

 

k = a / b, (a>b)

z = a % b

a = k*b + z

z = a – k*b

设a和b的最大公约数为d

a % d = 0, b %d = 0, (a-k*b) % d = 0

所以,z % d = 0, z= a % b

 

while(st <ed){

    m = st + ((ed-st)>>1);

if(num[m]<k)

st = m + 1;

else

ed = m;

}

return num[ed]== k ? 1:0;

 

char a[] = “abc”

char b[3] = “abc”//Wrong

char *c = “abc”;c[1] = ‘d’ //Wrong

char d[10] = “abc”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值