C++函数返回值类型

来源:互联网 发布:吉利知豆好不好 编辑:程序博客网 时间:2024/05/16 12:18
   C++语言的函数返回值类型可以分为内部类型和自定义类型两大类。
    在函数返回内部类型中不能返回数组类型但可以返回指向数组的指针,同样也可以返回指向函数的函数指针。如果希望返回值可以作为左值(即可以放在赋值操作符左边的)那就必须返回引用类型。
    而在函数返回自定义类型(即返回类类型)中根据是否可作为左值,返回值是否可调用成员函数的不同可分为以下四种情况。
    T:返回类类型
  1. T f();
  2. const T f();
  3. T& f();
  4. const T& f();
    T f(); 返回一般的类类型,返回的类类型不能作为左值,但返回的类类型可以直接调用成员函数来修改,如function().set_Value(); 返回类类型调用复制构造函数。
    const T f(); 此种类型与上述第一种相同,唯一不同的是返回的类类型不能调用成员函数来修改,因为有const限定符。
    T& f(); 返回类的引用可以作为左值,并且返回的类类型引用可以直接调用成员函数来修改,返回的类类型不会调用复制构造函数。
    const T& f(); 不能作为左值,不能调用成员函数修改,不会调用复制构造函数。
0 0