learnbyexample to [email protected]English • 1 day ago$HOME, Not So Sweet $HOMEgist.github.comexternal-linkmessage-square23fedilinkarrow-up181arrow-down16cross-posted to: [email protected][email protected][email protected]
arrow-up175arrow-down1external-link$HOME, Not So Sweet $HOMEgist.github.comlearnbyexample to [email protected]English • 1 day agomessage-square23fedilinkcross-posted to: [email protected][email protected][email protected]
minus-square@[email protected]linkfedilink6•16 hours agoTIL that you can declare return types this way in C++.
minus-square@[email protected]linkfedilink3•10 hours agoThey’re useful for templates because the trailing version is resolved later
minus-square@[email protected]linkfedilinkEnglish4•14 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-square@[email protected]linkfedilink6•15 hours agoAmong other things it lets you define the return type in terms of the arguments to the function.
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
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.