Boost logo

Boost :

Subject: Re: [boost] Heads up - string_ref landing
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2012-11-17 16:24:37

On 16/11/12 16:00, Maxim Yanchenko wrote:
> Olaf van der Spek <ml <at>> writes:
>> On Fri, Nov 16, 2012 at 3:25 PM, Mathias Gaunard
>> <mathias.gaunard <at>> wrote:
>>> void f(std::string const&);
>>> f("Olaf");
>> Are compilers/optimizers not smart enough to construct the temporary
>> object at compile time?
> I'm afraid they are not smart enough to eliminate an unneeded temporary when
> it's something sophisticated like std::string...

Doing that kind of transformation, assuming memory requirements were
relaxed to actually allow them, would require full-blown static analysis
on all of f's body.

So no, you can't expect any compiler to do it.

Boost list run by bdawes at, gregod at, cpdaniel at, john at