1. 函数指针
int max(int, int);
int (*p)(int, int)
p = max;
cout << p(1,1);
2. 命令行参数
int main(int argc, char * argv[])
argv 指向字符串数组, 每一个元素是char* 类型类型的指针, 它们再指向具体的字符串.
argv (char ** ) -> char* ->
. | / | a | . | o | u | t | '\0' |
(在c里面字符指针, 类似与字符串数组,可以一样操作)
3. 位运算
int : 4bytes, 8 位16进制表示
21: 0000 0000 0000 0000 0000 0000 0001 0101(2)
21: 0x00000015(16)
运算类型:
3.1
~
&, | ,^
3.2
<< , >>: 需注意符号位的处理
左移: 低位补0 即可
右移:
signed int : 左边补符号位的值, 相当于除2^n, 忘小里取整
-25 >> 4 = -2;
-2 >> 2 = - 1;
unsigned int : 左边补0
4. 引用类型
(1)必须初始化
(2)const int&
(3) & as return type
swap例子, lvaue 赋值
5. function
默认参数, 重载, 内联函数
提高编写,修改效率, 易于维护
6. 抽象与封装
现实->抽象(解构)->重构
(1) 成员可见范围private, public, protected
(2) 成员函数可见所有内部成员
(3) 定义与实现的分离 ::
class A{
void f();
};
void A::f(){...}