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


Groups > comp.std.c++ > #678

Re: proposal : keyword default

Message-ID <u-ydncvlzM5_7szPnZ2dnUVZ7qydnZ2d@bt.com> (permalink)
Newsgroups comp.std.c++
From Francis Glassborow <francis.glassborow@btinternet.com>
Subject Re: proposal : keyword default
Organization unknown
References <3c07b20c$1@master.soko.hr> <f7909d88-eef3-4c68-864f-09912789dc89@googlegroups.com> <FOOdncbkK9Y5uNPPnZ2dnUVZ_sKdnZ2d@earthlink.com> <l2nojk$10h$1@dont-email.me>
Date 2013-10-07 01:50 -0600

Show all headers | View raw


On 06/10/2013 03:19, Edward Diener wrote:
>
> On 10/4/2013 2:58 PM, Paul D. DeRocco wrote:
>>>
>>>
>>> On 10/3/2013 3:25 PM, alexander.stoyan@googlemail.com wrote:
>>>
>>> Instead it would be elegant to just use:
>>>
>>> thread_t thr_id = 0;
>>> make_thread(thread_function, default, default, default, &thr_id);
>>
>>
>>
>> I didn't see the earlier parts of this thread, so this may have come up.
>> Has the idea of leaving out the arguments entirely come up? E.g.,
>>
>> make_thread(thread-function, , , , &thr_id);
>
>
>
> I have always liked this idea. I see no reason for passing a keyword
> such as 'default'. Nor do I see a downside for leaving out a value
> entirely when you want the compiler to use the default value in the
> function declaration. I do not believe there is any other use for such
> a function invocation, so there is no chance of breaking existing
> code.
>
> Not passing anything should simply say "Pass the default value". If
> there is no default value for that positional parameter and the
> invoker does not pass anything it is a compiler error. Simple,
> straightforward, and cannot be confused with anything else when
> invoking a function.
>

I would lay heavy odds that all this discussion is academic because
the current rules are not going to change ever :)

If you stop to consider it, it should be clear that this would have
been considered right at the start of the design of default arguments
for C++. It wasn't that it was hard to do, so there must have been
other reasons (I am pretty sure they will have been mentioned
somewhere in 'The Design and Evolution of C++')

If anything, changing the rules now would be more difficult because
the whole language is so much more complicated. In addition, it is
entirely unnecessary as overloading is generally a more effective
approach as you can generally decide which parameters to default.
Inlining means that there is no loss of executable efficiency in
either space or speed.

Francis



        ]


--
[ comp.std.c++ is moderated.  To submit articles, try posting with your ]
[ newsreader.  If that fails, use mailto:std-cpp-submit@vandevoorde.com ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]

Back to comp.std.c++ | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Re: proposal : keyword default alexander.stoyan@googlemail.com - 2013-10-03 13:25 -0600
  Re: proposal : keyword default Daniel Krügler <daniel.kruegler@googlemail.com> - 2013-10-04 11:19 -0700
  Re: proposal : keyword default "Paul D. DeRocco" <pderocco@ix.netcom.com> - 2013-10-04 11:58 -0700
    Re: proposal : keyword default Bo Persson <bop@gmb.dk> - 2013-10-05 19:19 -0700
      Re: proposal : keyword default Edward Diener <eldiener@tropicsoft.invalid> - 2013-10-07 01:50 -0600
    Re: proposal : keyword default Edward Diener <eldiener@tropicsoft.invalid> - 2013-10-05 19:19 -0700
      Re: proposal : keyword default Francis Glassborow <francis.glassborow@btinternet.com> - 2013-10-07 01:50 -0600
        Re: proposal : keyword default Edward Diener <eldiener@tropicsoft.invalid> - 2013-10-07 15:05 -0600
          Re: proposal : keyword default James Kuyper <jameskuyper@verizon.net> - 2013-10-08 12:36 -0700
          Re: proposal : keyword default Helmut Zeisel <zei2011@liwest.at> - 2013-10-12 03:47 -0600
            Re: proposal : keyword default Edward Diener <eldiener@tropicsoft.invalid> - 2013-10-12 11:36 -0600
              Re: proposal : keyword default ootiib@hot.ee - 2013-10-12 23:10 -0600
              Re: proposal : keyword default John Harris <niam@jghnorth.org.uk.invalid> - 2013-10-13 11:33 -0600
                Re: proposal : keyword default Edward Diener <eldiener@tropicsoft.invalid> - 2013-10-16 10:34 -0600
              Re: proposal : keyword default Helmut Zeisel <zei2011@liwest.at> - 2013-10-14 20:37 -0700
  Re: proposal : keyword default Alexander Terekhov <terekhov@web.de> - 2013-10-18 01:20 -0600

csiph-web