[webkit-dev] PSA: Don't try to hold onto temporaries with references
Adam Barth
abarth at webkit.org
Sun Oct 3 10:51:18 PDT 2010
On Sun, Oct 3, 2010 at 10:31 AM, Darin Adler <darin at apple.com> wrote:
> On Oct 3, 2010, at 2:21 AM, Adam Barth wrote:
>> If a function returns a temporary, you probably don't want to hold onto it with a "const Foo& foo". The temporary will get deallocated
>> and then you'll be left with a reference to dead memory, which is bad new bears:
>
> I don’t understand why the crashes were happening here and why your code changes were helpful.
>
> What you say here about object lifetime is not correct. I thought the same thing a year or so back. But the C++ language keeps these objects alive until the end of the block. Some other programmers on the project challenged me when I made this assertion, and we found that I was wrong and they were right.
>
> But that doesn’t explain why the code was crashing!
Well, the tests are still crashing after these changes, so I'm
certainly willing to believe there's more going on here. I'll keep
investigating.
Adam
More information about the webkit-dev
mailing list