learnbyexample@programming.dev to Linux@lemmy.mlEnglish · 1 day ago$HOME, Not So Sweet $HOMEgist.github.comexternal-linkmessage-square24fedilinkarrow-up186arrow-down16cross-posted to: [email protected][email protected][email protected]
arrow-up180arrow-down1external-link$HOME, Not So Sweet $HOMEgist.github.comlearnbyexample@programming.dev to Linux@lemmy.mlEnglish · 1 day agomessage-square24fedilinkcross-posted to: [email protected][email protected][email protected]
minus-squareschnurrito@discuss.tchncs.delinkfedilinkarrow-up6·21 hours agoTIL that you can declare return types this way in C++.
minus-squareqaz@lemmy.worldlinkfedilinkEnglisharrow-up2·20 hours agoI never understood why they added that
minus-squareFeyd@programming.devlinkfedilinkarrow-up3·15 hours agoThey’re useful for templates because the trailing version is resolved later
minus-squarebrisklinkfedilinkarrow-up6·20 hours agoAmong other things it lets you define the return type in terms of the arguments to the function.
minus-square_____@lemm.eelinkfedilinkEnglisharrow-up4·18 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
Looks like C++.
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
Among other things it lets you define the return type in terms of the arguments to the function.
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