Hacker News new | ask | show | jobs
by gsb 1413 days ago
It's because `a` is not a pointer to the result of badfunc; it is a copy. So the return value of `badfunc` might be overwritten if func2 is non-trivial, but the copy will not.