learnbyexample to Linux@lemmy.mlEnglish · 20 hours ago$HOME, Not So Sweet $HOMEgist.github.comexternal-linkmessage-square21fedilinkarrow-up183arrow-down14cross-posted to: [email protected]
arrow-up179arrow-down1external-link$HOME, Not So Sweet $HOMEgist.github.comlearnbyexample to Linux@lemmy.mlEnglish · 20 hours agomessage-square21fedilinkcross-posted to: [email protected]
minus-squareschnurrito@discuss.tchncs.delinkfedilinkarrow-up6·11 hours agoTIL that you can declare return types this way in C++.
minus-squareqaz@lemmy.worldlinkfedilinkEnglisharrow-up2·10 hours agoI never understood why they added that
minus-squareFeydlinkfedilinkarrow-up1·5 hours agoThey’re useful for templates because the trailing version is resolved later
minus-square_____@lemm.eelinkfedilinkEnglisharrow-up3·8 hours agobecause explicitly declaring types can be redundant, if the compiler knows a lot of the times you should also know also because some types are extremely cursed: see std views/ranges
minus-squarebrisk@aussie.zonelinkfedilinkarrow-up6·10 hours agoAmong other things it lets you define the return type in terms of the arguments to the function.
TIL that you can declare return types this way in C++.
I never understood why they added that
They’re useful for templates because the trailing version is resolved later
because explicitly declaring types can be redundant, if the compiler knows a lot of the times you should also know
also because some types are extremely cursed: see std views/ranges
Among other things it lets you define the return type in terms of the arguments to the function.