zoukankan      html  css  js  c++  java
  • C/C++函数

    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) 

  • 相关阅读:
    (转载)Linux进程基础
    C语言字符串
    DNS域名解析服务
    Linux-SSH远程管理
    Linux文件系统深入了解
    Linux进程和计划任务管理
    Linux账户与权限管理
    MySQL实现读写分离
    SQL数据库常用函数
    MySQL进阶查询(二)
  • 原文地址:https://www.cnblogs.com/haiyupeter/p/2625961.html
Copyright © 2011-2022 走看看