Subject: Re: [boost] Move semantics for std::string?
From: Jeffrey Lee Hellrung, Jr. (jeffrey.hellrung_at_[hidden])
Date: 2012-02-16 18:01:58
On Thu, Feb 16, 2012 at 2:40 PM, Robert Dailey <rcdailey_at_[hidden]> wrote:
> I'm using C++03 and would love some way to apply move semantics to a
> std::string. Can boost facilitate this in some way without using smart
> pointers? Consider an example like below (This is a contrived example, so
> assume NRVO does not apply):
> std::string GetInformation( int someNumber )
> // We use 'someNumber' to look up a string
> std::string myValue( "hello world" ); // Create the string here
> return myValue;
> Above, the return value would result in a copy, I'd like to move it
Well I think you can always make NRVO apply if you're always returning the
same variable, which is always possible: just swap what you would otherwise
return into that common variable.
In general, though, no, I don't think you can cleanly introduce (emulated)
move semantics non-intrusively in C++03.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk