看完C++ Primer的第七章,觉得这一章值得被一看再看,现写了一些总结,尽量囊括知识点,但绝不冗余,力求简单易懂。
第七章的题目是 函数
定义:
int add ( int x, int y) {}
前面的int为返回参数类型。函数在定义时必须声明函数的返回类型(除了类的构造函数以及析构函数)
add 是函数名,同时也是函数的地址。(这一句很重要):
括号内 是形参表,其中的形参便是在这里定义,在函数调用时进行初始化的。
{}内是函数体。函数体本身是构成一个作用域。遵循作用域的原则。
参数传递:
非引用形参:对形参初始化之后,实参就没事干了。函数体的操作都是形参的事。
1 指针形参:指针的值(某个东西的地址)赋给形参之后,就相当于把实参指向的东西的地址给了形参,形参就去操作指针指向的值了。如果参数有const,那么就不允许修改。
例如:
void changePtrTo(int *p)
{
*p = 1; //p出卖了指向的值的地址(即它自身的值),指向的值被改变啦
p = 0; //p本身却没有变
}