C++函数(一)
来源:互联网 发布:淘宝c店 编辑:程序博客网 时间:2024/06/06 03:40
函数:
- 定义函数:
Type Name (argument1,2...){ //statement;}
- 参数按数值传递和按地址传递(value and reference):
当调用带参函数时,按数值传递(by value),传递到函数里的是赋给变量的值,而不是变量本事
例如:
int a = 4 , b = 4 , c;
c = function ( a , b );
function函数被调用时,其变量a,b值为5和3,但在函数function内对变量a 或b 所做的任何修改不会影响变量他外面的变量a和 b 的值,因为变量a 和b并没有把它们自己传递给函数,而只是传递了他们的数值。
- 按地址传递(by reference):
当需要函数控制函数以外的变量时,可以使用按地址传递来实现这种操作。
void duplicate (int& a, int& b, int& c){a*=2;b*=2;c*=2;}int main (){int x=1, y=3, z=7;duplicate (x, y, z);cout << "x=" << x << ", y=" << y << ", z=" << z;return 0;}
- 按值传递变量的定义
Type name (int& a,double& b,...)//变量的类型后面跟了一个地址符ampersand sign (&),它的作用是指明变量是按地址传递的(by reference)
Inline 函数(inline functions):
inline 指令可以被放在函数声明之前,要求该函数必须在被调用的地方以代码形式被编译。这相当于一个宏定义(macro)。它的好处只对短小的函数有效,这种情况下因为避免了调用函数的一些常规操作的时间(overhead),如参数堆栈操作的时间,所以编译结果的运行代码会更快一些。
声明:
inline type name ( arguments ... ) { statement; }
它的调用和其他的函数调用一样。调用函数的时候并不需要写关键字inline ,只有在函数声明前需要写。
函数重载(function overloading):
用同一函数名定义多个函数,这些函数的参数个数和参数类型不同。这就是函数的重载。即对一个函数名重新赋予它新的含义,使一个函数名可以多用。
函数模板(function template):
建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需在模板中定义一次即可。在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现了不同函数的功能。
- C语言函数(一)
- [C++]函数对象(一)
- 函数重载 C++(一)
- 编写一函数add()函数重载,函数模板(C++)
- 一周学会C#(函数一)
- C语言时间函数积累(一)
- C语言字符串函数集锦(一)
- C语言字符串函数集锦(一)
- C语言函数集(一)
- C语言:MessageBox()函数(一)
- C语言随记(一)—函数
- C语言--常用函数(一)
- c语言之函数(一)
- 第十三课(一)、C函数
- 【一起来学C语言】函数(一)
- C语言面试题---函数(一)
- C语言函数(一)
- Linux C函数之文件及目录函数(一)
- Beware the Share
- 剑指offerr--二叉搜索树的第k个结点
- php 消息推送(含源码)
- The Boy Scout Rule
- matlab中常用函数
- C++函数(一)
- 设计模式之适配器模式
- PyQt4 - (2) 第一印象 (pyqt的入门)
- noj算法题——堡垒问题
- 【好程序员笔记分享】——归档
- ArcGIS和Hadoop之间的故事之一
- (4.4.1.2)android内存管理机制(一)
- 谁比较2
- 关于Microsoft Visual Studio 2010 使用 APP GAME KIT中遇到的问题