learnbyexample@programming.dev to Linux@lemmy.mlEnglish · 4 个月前$HOME, Not So Sweet $HOMEgist.github.comexternal-linkmessage-square22fedilinkarrow-up192arrow-down16
arrow-up186arrow-down1external-link$HOME, Not So Sweet $HOMEgist.github.comlearnbyexample@programming.dev to Linux@lemmy.mlEnglish · 4 个月前message-square22fedilink
minus-squareschnurrito@discuss.tchncs.delinkfedilinkarrow-up6·4 个月前TIL that you can declare return types this way in C++.
minus-squarebrisk@aussie.zonelinkfedilinkarrow-up6·4 个月前Among other things it lets you define the return type in terms of the arguments to the function.
minus-square_____@lemm.eelinkfedilinkEnglisharrow-up5·4 个月前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
minus-squareFeyd@programming.devlinkfedilinkarrow-up3·4 个月前They’re useful for templates because the trailing version is resolved later
Looks like C++.
TIL that you can declare return types this way in C++.
I never understood why they added that
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
They’re useful for templates because the trailing version is resolved later