Pop-Up Thingie
Sidebar
>>> Magnum BBS <<<
Home
Forum
Files
Dark
Log in
Username
Password
Sidebar
Forum
Usenet
COMP.LANG.C++
RVO vs. TCO
From
Marcel Mueller
@21:1/5 to
All
on Mon Jun 9 17:16:12 2025
Hello,
does a tail call prevent return value optimization?
vector<XXX> func1();
vector<XXX> func2()
{
if (some_condition)
return func1();
vector<XXX> result;
// populate result
return result;
}
AFAIK RVO requires all paths of a function to return the same instance.
But can this also work with tail calls like func1()?
If not, the following work around could be preferred:
vector<XXX> func3()
{
vector<XXX> result;
if (some_condition)
result = func1(); // forces move
else
; // populate result
return result;
}
Marcel
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
Who's Online
Recent Visitors
Rixter
Wed Jul 29 02:00:40 2026
from
Madison, Nc
via
Telnet
Centurion
Tue Jul 28 22:54:59 2026
from
Berea, Ohio
via
Telnet
Bob Worm
Tue Jul 28 16:01:18 2026
from
Wales, Uk
via
Telnet
Rixter
Tue Jul 28 13:42:46 2026
from
Madison, Nc
via
Telnet
Krenn
Tue Jul 28 11:59:57 2026
from
Sydney, Nsw
via
Telnet
Rixter
Tue Jul 28 01:23:48 2026
from
Madison, Nc
via
Telnet
Centurion
Mon Jul 27 22:50:42 2026
from
Berea, Ohio
via
Telnet
Ataricrypt
Mon Jul 27 19:19:17 2026
from
England
via
Telnet
System Info
Sysop:
Keyop
Location:
Huddersfield, West Yorkshire, UK
Users:
741
Nodes:
16 (
2
/
14
)
Uptime:
62:28:47
Calls:
12,446
Calls today:
1
Files:
15,192
Messages:
6,537,485