C/C++函数

本文深入探讨了C++中函数的形参、实参、非引用形参与引用形参的区别,以及main函数参数的使用,同时介绍了内联函数、this指针的概念,并通过实例解释了这些知识点。

1.函数的形参

函数的形参为函数提供已命名的局部存储空间

fun1 (string name, int age) {
    std::cout << name << std::endl;
    std::cout << age << std::endl;
}

string name 和 int age则为形参,提供类型和命名标识,让编译器知道存储空间大小、名称,形参由调用函数时传递给函数的实参初始化。

2.函数实参

实参可以是表达式,也可以是变量或者字面型变量。

调用函数时,形参被实参初始化。

fun1( "peter", 25 );

"peter" 初始化 name 局部变量, 25 初始化 age

3.非引用形参 和 引用形参

每次调用函数,都会重新创建所有的形参。

非引用形参,如字面值变量,每次都会创建新的实参值的副本,函数内部改变参数值,不会影响实参。

指针引用实参,每次重新创建所有指针,指向与实参指针所指相同,改变指针指向对象的值,实参指向对象为同一对象,所以实参值也跟着改变。

形参中可以使用 const 修饰符,避免引用复制,即避免被修改

void fun1(const string name) {
    name = "sun yang"; // error 不能更改const 变量的值
}

 

4.main 函数参数

#include <iostream>
int main(int argc, char* args[]) {
    std::cout << argc << std::endl;
    for (var i = 0; i < argc; i++) {
        std::cout << args[i] << std::endl;
    }
}

argc ( argument count ) 参数的个数

args ( arguments ) 字符数组指针,用于获取参数

5.内联函数

函数名前加上inline 关键字,在调用该函数的地方,代码被解开释放到调用位置。

内联函数被调用时,因为不用再进行函数调用栈的重新申请,所以速度比调普通的函数快。

6.this 指针

对象方法内部隐式包含this指针,可以通过this.属性名或者this.方法名访问对象内部数据。

如果方法中有使用const限定this指针,则该this指针不能被修改或者覆盖:

如function aa const(string name, int age) 

 

转载于:https://www.cnblogs.com/haiyupeter/archive/2012/08/07/2625961.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值