RVO und Critical Sections
-
Hallo,
darf der Compiler in der 2. Methode etwas kaputtoptimieren, oder ist sichergestellt, dass zuerst eine Kopie des Vektors erzeugt wird, bevor Lock den scope verlässt?
// sichere Kopie std::vector<int> SomeClass::get_data() const { std::vector<int> Copy; { Lock lock( CriticalSection_ ); Copy = Data_; } return Copy_; } // auch sicher? std::vector<int> SomeClass::get_data() const { Lock lock( CriticalSection_ ); return Data_; }
-
Der Scope ist erst nach dem return beendet.

-
Ethon schrieb:
Der Scope ist erst nach dem return beendet.

Danke, das wollte ich hören
