main函数

main为C++的主入口函数。而main函数可以有初始传值。

  1. //This is a standard C++ console application.
  2. int main(int argc, char* argv[])

按照习惯来写,argc是传参的数量,argv则是传入的字符串,允许程序外部引用参数。
具体可配合命令提示符中或控制台中的参数传递使用。

函数的声明

内部声明:

  1. #include <iostream>
  2. int fun1(); //Function declaration
  3. int main(){
  4. return 0;
  5. }
  6. int fun1(){
  7. Statements;
  8. }

外部声明:

  1. #include <iostream>
  2. extern int fun1(); //Function declaration
  3. int main(){
  4. return 0;
  5. }

函数的传值

函数的参数表传值时是单向的值的传递,因此有局部变量和全局变量在传值时的注意事项。但内存地址始终不变,因此数组或指针传递时可以视为地址值传递。

匿名函数

c++的面向对象思想中可以使用匿名函数

Lambda 函数与表达式

C++11 提供了对匿名函数的支持,称为 Lambda 函数(也叫 Lambda 表达式)。
Lambda 表达式把函数看作对象。Lambda 表达式可以像对象一样使用,比如可以将它们赋给变量和作为参数传递,还可以像函数一样对其求值。
Lambda 表达式本质上与函数声明非常类似。Lambda 表达式具体形式如下:

  1. capture->return-type{body}

例如:

  1. [](int x, int y){ return x < y ; }

这部分将在面向对象部分提到,暂不展开