练习6.6
说明形参、局部变量以及局部静态变量的区别。编写一个函数,同时用到这三种形式。
解答:
只要定义有参数的函数,就会涉及到形参。
局部变量,就是只能在局部使用的变量,无法在其他地方进行使用。当然,其还可以对全局同名变量进行隐藏。
局部静态变量,也是在局部使用,但是其销毁会在程序结束之后。
#include <iostream>
using namespace std;
int count_call(int num){
static size_t ctr = 0;
return ++ctr;
}
int main(){
for (size_t i = 0; i != 10; ++i){
cout << count_call(i) << endl;
}
return 0;
}
这里的函数实现执行出来的结果并没有什么意义,这里仅仅是同时用到这三种形式。
练习6.7
编写一个函数,当他第一次被调用时返回0,以后每次被调用返回值加1。
解答
int foo(){
static int num = 0;
return num++;
}
练习6.1.2和练习6.1.3节练习,一个是创建头文件,声明使用到的函数;一个是将源文件进行分离编译。
都是操作性比较强的题目,这里就不写步骤了。
为了更好的验证这些,建议装一个linux系统,使用gcc或clang进行学习。