[vc8.0] named return value optimization



  • hi

    kann der vc8.0 "named return value optimization", oder wo kann ich nachschlagen ob er das kann?

    danke im vorraus



  • Optimizer* schrieb:

    hi

    kann der vc8.0 "named return value optimization", oder wo kann ich nachschlagen ob er das kann?

    danke im v******

    AFAIK kann er's. Aber abgesehen davon steht's bestimmt irgendwo bei den "Features" der VC 8.0 Produkthomepage.



  • ja, einfach ausprobieren:

    #include <iostream>
    struct Foo
    {
    	Foo() { std::cout << "default ctor" << std::endl; }
    	Foo(const Foo&) { std::cout << "copy-ctor" << std::endl; }
    	~Foo() { std::cout << "dtor" << std::endl; }
    };
    Foo f()
    {
    	Foo foo;
    	return foo;
    }
    int main()
    {
    	f();
    }
    

    der compiler verzichtet hier auf eine kopie, sobald eine andere optimierungsstufe als /Od verwendet wird.


Anmelden zum Antworten