On Thu, Jan 7, 2010 at 2:53 PM, Victor Khimenko <k...@google.com> wrote:

>
> On Fri, Jan 8, 2010 at 1:51 AM, Albert J. Wong (王重傑) 
> <ajw...@chromium.org>wrote:
>
>> On Thu, Jan 7, 2010 at 2:46 PM, Darin Fisher <da...@chromium.org> wrote:
>>
>>>
>>> On Thu, Jan 7, 2010 at 1:34 PM, Jeremy Orlow <jor...@chromium.org>wrote:
>>>
>>>> (As discussed during lunch...)  Why not just do this in this case and
>>>> remove EmptyString() altogether?
>>>>
>>>> const std::string& MyClass::foo() const {
>>>>   static std::string empty = EmptyString();
>>>>   return (everything == OK) ? member_string : empty;
>>>> }
>>>>
>>>>
>>> This is not thread safe.  EmptyString() uses Singleton<T> to basically
>>> achieve the same thing in a thread safe manner.
>>>
>>
>> Is there something wrong with returning by copy, and relying on the
>> compiler
>> to execute a return value optimization?
>>
>> Do you volunteer to rewrite the compilers to  implement said optimization?
> GCC, for one will not do so.
>

According to wikipedia,
http://en.wikipedia.org/wiki/Return_value_optimization, msvc, g++, and icc,
all support it...or am I missing something about this situation that makes
RVO inapplicable?

-Albert
-- 
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev

Reply via email to