您好,欢迎来到九壹网。
搜索
您的当前位置:首页cpp关于const和函数的使用方法介绍

cpp关于const和函数的使用方法介绍

来源:九壹网
cpp关于const和函数的使用方法介绍 我们为大家收集整理了关于cpp关于const和函数的使用方法,以方便大家参考。    void fun() const{}; 、 const void fun(){}; 和void const fun(){}; 的区别?    答:const void fun(){};和void const fun(){};两个相同。    如果采用”按址传递方式”的函数返回值加const 修饰,那幺函数返回值(即地址)的内容不能被修改,该返回值只能被赋给加const 修饰的同类型指针。    如果采用”按值传递方式”的函数返回值加const

修饰,由于函数会把返回

值复制到外部临时的存储单元中,加const 修饰没有任何价值。    所以不要尽量不要把int fun2();写成const int fun2(); 因为没意义。    例:    #include    using namespace std;    int num=10; //全局变量    const int *fun1(){ //按址传递    return # //返回地址    }    const int fun2(){ //按值传递 //最好直接写int fun2()    return num;    }    int main()    {    const int *fun1();    // int *t1=fun1(); //错误,必须是const型    const int *t1=fun1();    // *t1=20; //按址传递,不能修改其指向变量或常量的值    coutconst int fun2(); //最好直接声明成int fun2()    int t2=fun2(); //非const变量可以更改函数返回值    const int t3=fun2();    t2 += 10; //按值传递,可以修改返回值    coutreturn 0;    }    void fun() const{};    类的成员函数后面加

const,表明这个函数不可以对这个类对象的数据成

员(准确地说是非static数据成员)作任何改变。    例:    #include    using namespace std;    class R    {    public:    R():num1(1){}    int sum1(int a)const    {    // num1=10; //错误,不可以修改非static数据成员    return a+num1;    }    int sum2(int a)const    {    num2=2; //正确,修改static数据成员    return a+num2;    }

   int sum3(int a) //没有const    {    num1=10; //正确,修改非static数据成员    num2=20; //正确,修改static数据成员    return a+num1+num2;    }    private:    int num1;    static int num2;    };    int R::num2=0;    int main()    {    coutcoutcoutreturn 0;    }    希望大家学业有成,工作顺利    

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务