Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #69905

Re: Substitution failure can be an error

Newsgroups comp.lang.c++
From Melzzzzz <Melzzzzz@zzzzz.com>
Subject Re: Substitution failure can be an error
References <qqulj5$jd1$1@dont-email.me> <EGJAF.196091$_i.170118@fx25.am4> <qr0kq0$q0m$1@dont-email.me>
Message-ID <1GXAF.159948$XT1.148145@fx01.am4> (permalink)
Organization usenet-news.net
Date 2019-11-19 19:48 +0000

Show all headers | View raw


On 2019-11-19, Alf P. Steinbach <alf.p.steinbach+usenet@gmail.com> wrote:
> On 19.11.2019 04:53, Melzzzzz wrote:
>> On 2019-11-18, Alf P. Steinbach <alf.p.steinbach+usenet@gmail.com> wrote:
>>> As the title says, substitution failure can be an error:
>>>
>>>
>>> #include <iostream>
>>> #include <initializer_list>
>>> #include <type_traits>
>>> using namespace std;
>>>
>>> template< class Value >
>>> auto is_in( const initializer_list<Value>& list, const Value v )
>>>       -> bool
>>> { return false; }
>> 
>> why not just auto? What's the point of both auto and return type?
>
> It may be that you're asking about the syntax.
>
> Well, `auto f() -> T` for /trailing return type/ was introduced in C++11.
>
> Now that you have a name you can look it up.
>
> `auto` for /deduced return type/, like `auto f() { return 3; }` was 
> introduced in C++14, almost like sabotage of the C++11 syntax.
>
> Apparently support for `auto auto`, writing `auto f() -> auto { return 
> 3; }` in order to specify deduced return type explicitly, was introduced 
> in C++17. But of this I'm less sure. Even though compilers I've tried 
> accept the syntax I don't even know, 100%, that it's valid C++.
>
> ---
>
> It may alternatively be that you're asking why most C++ programmers 
> still generally specify return types instead of using deduced return type.
>
> A deduced return type can be very convenient for e.g. a `begin()` member 
> function that just defers the work to some member container's `begin()`.
>
> But a deduced return type can in the worst case mean that you have to 
> delve to the bottom of an arbitrary long call chain in order to find out 
> what the return type, that the compiler knows, is. On the way you may 
> have to do overload resolution and template instantiation just like the 
> compiler, to figure out where these calls go. You may have to use a 
> debugger.
>
> That's just a waste of time for the programmer.
>
> And so it's strongly counter-productive to use this feature in general.
>
> ---
>
> If you meant the second interpretation, then I think a better question 
> is whether there are programmers who regularly use deduced return type, 
> and if so, what on Earth makes them do that counter-productive thing?
>
> In my opinion, if they exist, then they're likely a collection of total 
> incompetents, the genuinely insane and maybe herd followers, just as 
> with any group that does irrational things: some are insane, some don't 
> understand any of it, and some (in religion that's most) follow the herd 
> in order to derive social advantages, or avoid social disadvantage.
>
> But I would guess that any group of C++ programmers using deduced return 
> type is not yet large enough that there would be any herd followers.

Just one question. What's the point of auto then?
>
>
> - Alf


-- 
press any key to continue or any other to quit...
U ničemu ja ne uživam kao u svom statusu INVALIDA -- Zli Zec
Svi smo svedoci - oko 3 godine intenzivne propagande je dovoljno da jedan narod poludi --  Zli Zec
Na divljem zapadu i nije bilo tako puno nasilja, upravo zato jer su svi 
bili naoruzani. -- Mladen Gogala

Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Substitution failure can be an error "Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com> - 2019-11-18 18:49 +0100
  Re: Substitution failure can be an error Vir Campestris <vir.campestris@invalid.invalid> - 2019-11-18 21:54 +0000
  Re: Substitution failure can be an error Sam <sam@email-scan.com> - 2019-11-18 18:12 -0500
  Re: Substitution failure can be an error Melzzzzz <Melzzzzz@zzzzz.com> - 2019-11-19 03:53 +0000
    Re: Substitution failure can be an error "Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com> - 2019-11-19 12:48 +0100
      Re: Substitution failure can be an error Melzzzzz <Melzzzzz@zzzzz.com> - 2019-11-19 19:48 +0000
        Re: Substitution failure can be an error "Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com> - 2019-11-19 21:31 +0100
          Re: Substitution failure can be an error Melzzzzz <Melzzzzz@zzzzz.com> - 2019-11-19 21:20 +0000
            Re: Substitution failure can be an error "Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com> - 2019-11-19 22:51 +0100
              Re: Substitution failure can be an error Melzzzzz <Melzzzzz@zzzzz.com> - 2019-11-19 21:58 +0000
            Re: Substitution failure can be an error David Brown <david.brown@hesbynett.no> - 2019-11-20 09:19 +0100
              Re: Substitution failure can be an error Öö Tiib <ootiib@hot.ee> - 2019-11-20 02:16 -0800
                Re: Substitution failure can be an error scott@slp53.sl.home (Scott Lurndal) - 2019-11-20 14:13 +0000
                Re: Substitution failure can be an error Öö Tiib <ootiib@hot.ee> - 2019-11-20 08:34 -0800
                Re: Substitution failure can be an error David Brown <david.brown@hesbynett.no> - 2019-11-21 12:34 +0100
                Re: Substitution failure can be an error Öö Tiib <ootiib@hot.ee> - 2019-11-21 05:29 -0800
                Re: Substitution failure can be an error David Brown <david.brown@hesbynett.no> - 2019-11-21 15:58 +0100
          Re: Substitution failure can be an error Christian Gollwitzer <auriocus@gmx.de> - 2019-11-20 11:12 +0100
            Re: Substitution failure can be an error Öö Tiib <ootiib@hot.ee> - 2019-11-20 04:25 -0800
              Re: Substitution failure can be an error Öö Tiib <ootiib@hot.ee> - 2019-11-20 06:05 -0800
      Almost Always Auto? (was Re: Substitution failure can be an error) Vir Campestris <vir.campestris@invalid.invalid> - 2019-11-22 21:46 +0000
        Re: Almost Always Auto? (was Re: Substitution failure can be an error) Jorgen Grahn <grahn+nntp@snipabacken.se> - 2019-11-23 09:29 +0000
          Re: Almost Always Auto? (was Re: Substitution failure can be an boltar@nowhere.co.uk - 2019-11-23 17:23 +0000
          Re: Almost Always Auto? (was Re: Substitution failure can be an error) Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-11-28 12:46 -0800
        Re: Almost Always Auto? (was Re: Substitution failure can be an error) "Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com> - 2019-11-24 00:26 +0100
          Re: Almost Always Auto? (was Re: Substitution failure can be an error) "Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com> - 2019-11-24 00:28 +0100
          Re: Almost Always Auto? (was Re: Substitution failure can be an error) "Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com> - 2019-11-24 00:45 +0100
          Re: Almost Always Auto? (was Re: Substitution failure can be an boltar@nowhere.co.uk - 2019-11-24 10:47 +0000
            Re: Almost Always Auto? (was Re: Substitution failure can be an Melzzzzz <Melzzzzz@zzzzz.com> - 2019-11-24 13:37 +0000
              Re: Almost Always Auto? (was Re: Substitution failure can be an boltar@nowhere.co.uk - 2019-11-25 11:08 +0000
  Re: Substitution failure can be an error Manfred <noname@add.invalid> - 2019-11-20 18:46 +0100
    Re: Substitution failure can be an error "Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com> - 2019-11-21 06:02 +0100
      Re: Substitution failure can be an error Manfred <noname@add.invalid> - 2019-11-21 15:50 +0100

csiph-web