$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Herb Sutter (hsutter_at_[hidden])
Date: 2002-02-19 00:35:08
Gary wrote:
> "Auto" for type deduction.
> Yet another call for "auto" and that's for use in
> teaching:
Good points. Then:
> typeof
>
> Lambda needs to be able to deduce the type of an expression.
>
> template<class T, class S>
> WHAT_IS_THIS_TYPE? operator+(T &t, S &s)
> { return t+s; }
>
> so we need something of the order of:
>
> template<class T, class S>
> typeof(S + T) operator+(T &t, S &s)
> { return t+s; }
(Note the typo above: "typeof(S+T)" vs. "return t+s;".)
Why not use "auto" here? It would avoid the typo too:
template<class T, class S>
auto operator+(T &t, S &s)
{ return t+s; }
If different branches would return different things, well, we already have a
rule about that sort of type compatibility for the ?: operator.
Herb