C++ 学习笔记

C++

  1. 引用传递实参不能是常数,必须是变量

       void function (int & n) {
        n ++;
       }
    
       int main () {
        int x;
            function (x); // ok
            function (2); // 不允许
    
       }
  2. 如果像让引用传递不改变实参的值可以用常量解决这件事
    void function (const int & ref) {
    // 这样就可以不让引用的值发生改变但是不能进行赋值
    //
    int a;
    ref = a; // 不允许
    }

  3. 函数体结束以后函数所占用的空间会被释放,注意如果将函数体内一个变量的地址返回出去,这样会出现野指针。
  4. 过载函数 具有相同的函数名,而具有不同的参数表 (参数个数、参数类型、参数顺序)的函数叫做过载函数,然而只有返回值不同是不可以的 (因为解析这个函数的时候只看参数表而不是返回值)。
    比如
    void p (int x) {
    cout << x + 1 << endl;
    }

    void p (double x) {
    cout << x << endl;
    }
    // 这两个函数就可以是过载函数
    过载函数解析的时候注意类型的匹配方式 匹配的只是参数表与函数的返回值无关

    • 精确匹配 (先进行)
    • 提升匹配 (可以进行类型转化的)
  5. 如果函数的过载参数有两个及以上时 如果转化的方式有多种切不存在精准匹配,这样的话会出现错误
    void f (double x,double y);
    void f (int x,int y);
    f (1.0,2) // error
    f (1,1) // ok
    f (1.0,1.0) // ok

  6. 参数传递的规则和函数返回值的规则都与变量 / 常量的初始化的规则一直, 关键还是看类型 (int -> double int -> long long )
  7. 定义函数的目的之一是在不同场合多次使用它,如果一个函数的参数太多,那么表示这个函数的功能太复杂,下决心把它分成多个函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值