5 ms·
I've never understood why people like frontal return types. It seems to me that the most important piece of a function is its name, which 50% of the time will m
by ender7 14y ago
I've never understood why people like frontal return types. It seems to me that the most important piece of a function is its name, which 50% of the time will make it obvious what its return type is anyway. Also, certain languages such as C++ (and occasionally Java) have a habit of involving incredibly long return types that push the actual function name far off to the side, if not onto a second line.
- cageface 14y agoIn C++11 you can push the return type to the right, like this: auto foo(int x) -> bool;
- akkartik 14y agoEwww. WTF?! http://www.cprogramming.com/c++11/c++11-auto-decltype-return-value-after-function.html http://www.cprogramming.com/c++11/c++11-auto-decltype-return... provides a rationale: so you don't have to type in ClassName:: twice. Is that really worth this monstrosity? The function name is still not at the start of the statement. '->' is being horribly misused. Anybody know if there's a better reason for this? Did the committee really have nothing better to think about?
- kzrdude 14y agoYes there are much better reasons: http://www2.research.att.com/~bs/C++0xFAQ.html#suffix-return http://www2.research.att.com/~bs/C++0xFAQ.html#suffix-return template<class T, class U> auto mul(T x, U y) -> decltype(x*y) { return x*y; }
- akkartik 14y agoAh, that use case makes sense. I wish the syntax was congruent with C++, but that complaint has been done to death.