Returning a c++ std::vector without a copy?

If your compiler supports the NRVO then no copy will be made, provided certain conditions are met in the function returning the object. Thankfully, this was finally added in Visual C++ 2005 (v8.0) This can have a major +ve impact on perf if the container is large, obviously.

If your own compiler docs do not say whether or not it’s supported, you should be able to compile the C++ code to assembler (in optimized/release mode) and check what’s done using a simple sample function.

There’s also an excellent broader discussion here

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)