美文网首页
[收藏]C++ const用法

[收藏]C++ const用法

作者: bohan_ | 来源:发表于2015-06-02 16:48 被阅读0次

    http://www.cnblogs.com/xudong-bupt/p/3509567.html

    http://bbs.csdn.net/topics/190030593

    返回const值,意思指返回的原函数里的变量的初值不能被修改,但是函数
    按值返回的这个变量被制成副本,能不能被修改就没有了意义,它可以被赋给任何
    的const或非const类型变量,完全不需要加上这个const关键字.但这只对于内部
    类型而言(因为内部类型返回的肯定是一个值,而不会返回一个变量,不会作为左
    值使用),对于用户自定义类型,返回值是常量是非常重要的,

    X Fuction1 () { return X(); }
    const X Fuction2 () { return X(); }
    如有上面的自定义类X,和函数Fuction1()和Fuction2(),我们进行如下操作时:
    Fuction1()=X(1); //没有问题,可以作为左值调用
    Fuction2()=X(1); //编译错误,const返回值禁止作为左值调用.因为左值
    把返回值作为变量会修改其返回值,const声明禁止这种修改.

    相关文章

      网友评论

          本文标题:[收藏]C++ const用法

          本文链接:https://www.haomeiwen.com/subject/ehddqttx.html