Advertisement

C++之RVO-优化

阅读量:

什么是RVO优化

RVO 的缩略称为 Return Value Optimization。
它是一种编译器优化手段。
它能够省去那些由函数返回而产生的临时对象复制构造的过程。
它是 C++ 11 标准中的一项规定。

当编译器清楚地知道函数返回哪一个局部对象时,在这种情况下编译器将把存储该局部对象的地址以及存储返回值临时对象的地址进行复用;换句话说,在这种情况下编译器减少了从局部对象到临时对象执行拷贝操作的任务

复制代码
    main.cpp
    #include <iostream>
    using namespace std;
    class A {
    public:
    A() {
        cout << "构造函数" << endl;
    }
    
    A(const A &a) {
        cout << "拷贝构造函数" << endl;
    }
    
    ~A() {
        cout << "析构函数" << endl;
    }
    
    };
    
    A getA() {
    A a;
    return a;
    }
    
    int main() {
    A b = getA();
    return 0;

全部评论 (0)

还没有任何评论哟~