- 函数声明由函数返回类型、 函数名和形参列表组成。 形参列表必须包括形参类型,但是不必对形参命名。 这三个元素被称为函数原型, 函数原型描述了函数的接口。
-
1 #include <iostream> 2 using namespace std; 3 double func(double a = 555) 4 { 5 cout << a <<endl; 6 return a; 7 } 8 int main() 9 { 10 func(); 11 return 0; 12 }
-
1 string screenInit(string::size_type height = 24, 2 string::size_type width = 80, 3 char background = ' ' ); 4 5 string screen; 6 screen = screenInit(); // equivalent to screenInit (24,80,'') 7 screen = screenInit(66); // equivalent to screenInit (66,80,'') 8 screen = screenInit(66, 256); // screenInit(66,256,' ') 9 screen = screenInit(66, 256, '#');
- 设计带有默认实参的函数,其中部分工作就是排列形参,使最少使用默认实参的形参排在最前,最可能使用默认实参的形参排在最后。
- 局部对象
- 自动对象(默认)
只有当定义它的函数被调用时才存在的对象称为自动对象。 自动对象在每次调用函数时创建和撤销 - 静态局部对象
一个变量如果位于函数的作用域内,但生命期跨越了这个函数的多次调用,这种变量往往很有用。则应该将这样的对象定义为 static(静态的)
1 #include <iostream> 2 using namespace std; 3 size_t count_calls() 4 { 5 static size_t ctr = 0; // value will persist across calls 6 return ++ctr; 7 } 8 int main() 9 { 10 for (size_t i = 0; i != 10; ++i) 11 cout << count_calls() << endl; 12 return 0; 13 }
- 自动对象(默认)