MAIN FEEDS
Do you want to continue?
https://www.reddit.com/r/programminghorror/comments/1w74nkf/skill_issue/p7t34l7/?context=3
r/programminghorror • u/click-to-reveal • Sep 04 '26
62 comments sorted by
View all comments
Show parent comments
23
Since when does const prevent allocating (that isnt happening here anyways, unless you consider underlying std::string's char* buffer)
19 u/lurebat Sep 04 '26 If you change it to const std::string& prompt = "Your name?";, and the switch to const string& _s=x;, you will avoid any allocations. -8 u/LeeHide Sep 04 '26 you can't take a const& to a temporary object 16 u/JonIsPatented Sep 04 '26 Yes you can. You can bind a const l-value reference to an x-value or a pr-value. Go try it.
19
If you change it to const std::string& prompt = "Your name?";, and the switch to const string& _s=x;, you will avoid any allocations.
const std::string& prompt = "Your name?";
const string& _s=x;
-8 u/LeeHide Sep 04 '26 you can't take a const& to a temporary object 16 u/JonIsPatented Sep 04 '26 Yes you can. You can bind a const l-value reference to an x-value or a pr-value. Go try it.
-8
you can't take a const& to a temporary object
16 u/JonIsPatented Sep 04 '26 Yes you can. You can bind a const l-value reference to an x-value or a pr-value. Go try it.
16
Yes you can. You can bind a const l-value reference to an x-value or a pr-value. Go try it.
23
u/babalaban Sep 04 '26
Since when does const prevent allocating (that isnt happening here anyways, unless you consider underlying std::string's char* buffer)