C++引用函数

来源:互联网 发布:广东网络干培训学院 编辑:程序博客网 时间:2024/06/06 23:15

1、基本概念

引用限定符可以是 & 或 &&,可以放在函数参数列表后分别指出this可以指向一个左值或右值。引用限定符只能用于(非static)成员函数,且必须出现在函数的声明和定义中。引用限定符也可以区分重载版本。如果一个成员函数有引用限定符,则具有相同参数列表的所有版本都必须有引用限定符。

2、实例演示

#include <iostream>using namespace std;class Ct {public:    void func() && {        cout << "可用于可改变的右值" << endl;    }    void func() & {        cout << "可用于可改变的左值" << endl;    }};int main(void){    cout << "右值引用调用" << endl;    (move(*make_shared<Ct>())).func();    cout << "左值引用调用" << endl;    make_shared<Ct>()->func();<span id="transmark"></span>}

输出结果:

c1调用

可用于可改变的右值

c2调用

可用于可改变的左值

请按任意键继续. . .

3、如对上述代码第17行有疑问

考虑到安全因素,具名变量即使被声明为右值类型也不会被当作右值。如需把它当作右值,须使用库函数std::move()。     ——   摘自百度百科(右值引用)


0 0
原创粉丝点击