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


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

Re: Wikipedia

From David Brown <david.brown@hesbynett.no>
Newsgroups comp.lang.c++
Subject Re: Wikipedia
Date 2022-06-02 22:35 +0200
Organization A noiseless patient Spider
Message-ID <t7b6to$nn8$1@dont-email.me> (permalink)
References (13 earlier) <t79ilr$8iv$1@dont-email.me> <t79tpd$n0b$1@gioia.aioe.org> <2e7091e6-edc2-4b51-9255-18dbbf568775n@googlegroups.com> <t7aghh$20b$1@dont-email.me> <87leufrnz8.fsf@nosuchdomain.example.com>

Show all headers | View raw


On 02/06/2022 19:09, Keith Thompson wrote:
> David Brown <david.brown@hesbynett.no> writes:
>> On 02/06/2022 13:40, Malcolm McLean wrote:
>>> On Thursday, 2 June 2022 at 09:53:22 UTC+1, Juha Nieminen wrote:
>>>>
>>>> I can't think of any situation where "using namespace std;" would
>>>> actually introduce some benefit to the code, in terms of readability
>>>> or otherwise. I can think of plenty of examples of the opposite.
>>>>
>>> I tend to include the C math library.
>>> The reason is that my code involves a lot of complicated
>>> mathematical
>>> formulae. The convention is that the identifier "cos" means "take the
>>> cosine". There's no broad convention for using "std::cos", "math.cos".
>>> or even "cosine".
>>> Also, the convention is that a formula is one expression. Breaking it
>>> up over several lines makes it harder rather than easier to read.
>>> So you've got long complicated expressions with calls to common
>>> functions embedded in them. It's clearly better to be able to use the
>>> accepted names for these functions.
>>
>> For historical reasons (i.e., C compatibility), you might not be able
>> to get hold of identifiers like "cos" without them being in the global 
>> identifier space - #include <cmath> is guaranteed to give you
>> "std::cos" but it is also possible (and likely) that you get "cos"
>> even without any kind of "using namespace std;" or "using std::cos;".
>>
>> This is unfortunate, but that's part of the cost of backwards compatibility.
>>
>> However, it is entirely reasonable to use "std::cos", or to put a
>> "using" declaration in the function using it.  It is also entirely 
>> plausible that code could want cosine functions with different
>> characteristics from the standard library "cos".  That could include a 
>> different balance of accuracy and speed, different types, different
>> error handling, a consteval version, etc.
> 
> Math functions are a case where it might make more sense to want to use
> the bare names.  I personally would prefer `std::cos`, but if you want
> to use bare names only for the math functions, you can import them
> individually:
>     using std::sin;
>     using std::cos;
> or, starting in C++17:
>     using std::sin, std::cos;
> I personally would prefer this over `using namespace std;`.
> 

Yes, these are all possible.  At the very least, "using namespace std;"
can be put locally in a small function for much lower risk than having
it apply to the whole file.

> (The names "sin", "cos", "sqrt" et all are not likely to collide with
> anything, but "log" is another matter.)
> 

When I have implemented my own cos and sin functions (typically for
higher speed, lower accuracy versions in embedded systems), I would have
liked to call them "cos" and "sin".  I usually go for "cosine" and
"sine" - in most cases the code in question has been in C or at least C
compatible, ruling out namespaces.  (Of course "log" is more likely to
have conflicts.)

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


Thread

Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-05-29 02:59 +0200
  Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-05-29 05:46 +0000
    Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-05-29 08:03 +0200
      Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-05-29 08:34 +0200
      Re: Wikipedia Öö Tiib <ootiib@hot.ee> - 2022-05-29 01:36 -0700
        Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-05-29 10:37 +0200
          Re: Wikipedia Öö Tiib <ootiib@hot.ee> - 2022-05-29 02:09 -0700
            Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-05-29 11:16 +0200
              Re: Wikipedia Öö Tiib <ootiib@hot.ee> - 2022-05-29 03:08 -0700
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-05-29 12:44 +0200
              Re: Wikipedia Paavo Helde <eesnimi@osa.pri.ee> - 2022-05-29 16:05 +0300
                Re: Wikipedia Freethinker <freethinker@mymail.com> - 2022-05-29 15:19 +0200
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-05-29 15:27 +0200
                Re: Wikipedia Manu Raju <MR@invalid.invalid> - 2022-05-29 17:26 +0100
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-05-29 19:18 +0200
                Re: Wikipedia scott@slp53.sl.home (Scott Lurndal) - 2022-05-29 17:49 +0000
                Re: Wikipedia Manfred <noname@add.invalid> - 2022-05-30 00:25 +0200
                Re: Wikipedia Popping Mad <rainbow@colition.gov> - 2022-06-04 13:00 -0400
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-04 19:19 +0200
            Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-05-29 11:48 +0200
          Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-05-30 06:06 +0000
            Re: Wikipedia Popping Mad <rainbow@colition.gov> - 2022-06-04 13:02 -0400
    Re: Wikipedia Manu Raju <MR@invalid.invalid> - 2022-05-29 17:18 +0100
      Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-05-29 18:22 +0200
        Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-05-30 06:08 +0000
          Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-05-31 04:41 +0200
      Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-05-30 06:06 +0000
  Re: Wikipedia Mr Flibble <flibble@reddwarf.jmc.corp> - 2022-05-30 19:31 +0100
  Re: Wikipedia Mr Flibble <flibble@reddwarf.jmc.corp> - 2022-05-30 19:52 +0100
    Re: Wikipedia Manfred <noname@add.invalid> - 2022-05-31 14:34 +0200
      Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-05-31 15:15 +0200
        Re: Wikipedia Mr Flibble <flibble@reddwarf.jmc.corp> - 2022-05-31 18:00 +0100
          Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-05-31 19:06 +0200
            Re: Wikipedia Mr Flibble <flibble@reddwarf.jmc.corp> - 2022-05-31 18:43 +0100
              Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-05-31 19:48 +0200
                Re: Wikipedia David Brown <david.brown@hesbynett.no> - 2022-06-01 09:26 +0200
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 09:44 +0200
                Re: Wikipedia Öö Tiib <ootiib@hot.ee> - 2022-06-01 01:47 -0700
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 13:53 +0200
                Re: Wikipedia David Brown <david.brown@hesbynett.no> - 2022-06-01 17:05 +0200
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 17:06 +0200
                Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-06-02 04:57 +0000
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-02 07:43 +0200
                Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-06-02 08:53 +0000
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-02 12:56 +0200
                Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-06-02 12:46 +0000
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-02 14:56 +0200
                Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-06-03 04:14 +0000
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-03 06:19 +0200
                Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-06-03 04:26 +0000
                Re: Wikipedia Mr Flibble <flibble@reddwarf.jmc.corp> - 2022-06-03 14:22 +0100
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-03 15:34 +0200
                Re: Wikipedia "daniel...@gmail.com" <danielaparker@gmail.com> - 2022-06-03 07:24 -0700
                Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-06-03 14:56 +0000
                Re: Wikipedia "daniel...@gmail.com" <danielaparker@gmail.com> - 2022-06-03 08:06 -0700
                Re: Wikipedia David Brown <david.brown@hesbynett.no> - 2022-06-03 17:30 +0200
                Re: Wikipedia "daniel...@gmail.com" <danielaparker@gmail.com> - 2022-06-03 10:37 -0700
                Re: Wikipedia David Brown <david.brown@hesbynett.no> - 2022-06-03 20:33 +0200
                Re: Wikipedia scott@slp53.sl.home (Scott Lurndal) - 2022-06-03 18:59 +0000
                Re: Wikipedia "daniel...@gmail.com" <danielaparker@gmail.com> - 2022-06-03 12:35 -0700
                Re: Wikipedia Freethinker <freethinker@mymail.com> - 2022-06-03 23:42 +0200
                Re: Wikipedia Muttley@dastardlyhq.com - 2022-06-04 08:10 +0000
                Re: Wikipedia "daniel...@gmail.com" <danielaparker@gmail.com> - 2022-06-03 11:59 -0700
                Re: Wikipedia David Brown <david.brown@hesbynett.no> - 2022-06-04 15:27 +0200
                Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-06-04 15:31 +0000
                Re: Wikipedia Manfred <noname@add.invalid> - 2022-06-03 17:02 +0200
                Re: Wikipedia "daniel...@gmail.com" <danielaparker@gmail.com> - 2022-06-03 08:11 -0700
                Re: Wikipedia "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2022-06-03 14:23 -0700
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-02 14:58 +0200
                Re: Wikipedia Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-06-04 08:00 -0700
                Re: Wikipedia David Brown <david.brown@hesbynett.no> - 2022-06-02 16:00 +0200
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-02 16:09 +0200
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-02 16:14 +0200
                Re: Wikipedia Popping Mad <rainbow@colition.gov> - 2022-06-04 13:20 -0400
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-04 19:23 +0200
                Re: Wikipedia Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2022-06-02 04:40 -0700
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-02 14:00 +0200
                Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-06-02 12:47 +0000
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-02 14:59 +0200
                Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-06-03 04:17 +0000
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-03 06:20 +0200
                Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-06-03 04:27 +0000
                Re: Wikipedia David Brown <david.brown@hesbynett.no> - 2022-06-02 16:13 +0200
                Re: Wikipedia Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2022-06-02 10:09 -0700
                Re: Wikipedia David Brown <david.brown@hesbynett.no> - 2022-06-02 22:35 +0200
                Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-06-03 04:22 +0000
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-03 06:23 +0200
                Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-06-03 04:28 +0000
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-03 06:35 +0200
                Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-06-03 05:22 +0000
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-03 07:23 +0200
                Re: Wikipedia "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2022-06-02 22:25 -0700
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-03 07:28 +0200
                Re: Wikipedia "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2022-06-02 22:31 -0700
                Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-06-03 06:22 +0000
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-03 08:38 +0200
                Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-06-03 10:14 +0000
                Re: Wikipedia "daniel...@gmail.com" <danielaparker@gmail.com> - 2022-06-03 06:32 -0700
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-03 15:35 +0200
                Re: Wikipedia "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2022-06-03 14:12 -0700
                Re: Wikipedia David Brown <david.brown@hesbynett.no> - 2022-06-03 10:31 +0200
                Re: Wikipedia Manfred <noname@add.invalid> - 2022-06-02 19:12 +0200
                Re: Wikipedia Popping Mad <rainbow@colition.gov> - 2022-06-04 13:09 -0400
                Re: Wikipedia Manu Raju <MR@invalid.invalid> - 2022-06-02 17:54 +0100
                Re: Wikipedia Paavo Helde <eesnimi@osa.pri.ee> - 2022-06-02 20:40 +0300
                Re: Wikipedia Manu Raju <MR@invalid.invalid> - 2022-06-02 18:50 +0100
                Re: Wikipedia Juha Nieminen <nospam@thanks.invalid> - 2022-06-03 04:25 +0000
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 14:21 +0200
                Re: Wikipedia "daniel...@gmail.com" <danielaparker@gmail.com> - 2022-06-01 06:17 -0700
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 15:34 +0200
                Re: Wikipedia "daniel...@gmail.com" <danielaparker@gmail.com> - 2022-06-01 07:13 -0700
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 16:55 +0200
                Re: Wikipedia David Brown <david.brown@hesbynett.no> - 2022-06-01 16:29 +0200
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 16:56 +0200
                Re: Wikipedia "daniel...@gmail.com" <danielaparker@gmail.com> - 2022-06-01 07:58 -0700
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 17:07 +0200
                Re: Wikipedia David Brown <david.brown@hesbynett.no> - 2022-06-01 17:50 +0200
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 18:11 +0200
                Re: Wikipedia David Brown <david.brown@hesbynett.no> - 2022-06-01 17:41 +0200
                Re: Wikipedia Manfred <noname@add.invalid> - 2022-06-01 17:42 +0200
                Re: Wikipedia "daniel...@gmail.com" <danielaparker@gmail.com> - 2022-06-01 09:12 -0700
                Re: Wikipedia Manfred <noname@add.invalid> - 2022-06-01 18:35 +0200
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 18:36 +0200
                Re: Wikipedia Manfred <noname@add.invalid> - 2022-06-01 18:59 +0200
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 19:04 +0200
                Re: Wikipedia "daniel...@gmail.com" <danielaparker@gmail.com> - 2022-06-01 10:04 -0700
                Re: Wikipedia Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-06-07 08:28 -0700
                Re: Wikipedia David Brown <david.brown@hesbynett.no> - 2022-06-01 21:22 +0200
                Re: Wikipedia "daniel...@gmail.com" <danielaparker@gmail.com> - 2022-06-01 13:43 -0700
                Re: Wikipedia David Brown <david.brown@hesbynett.no> - 2022-06-02 10:07 +0200
                Re: Wikipedia Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-06-07 08:21 -0700
                Re: Wikipedia "daniel...@gmail.com" <danielaparker@gmail.com> - 2022-06-10 07:18 -0700
              Re: Wikipedia muttley@dastardlyhq.com - 2022-05-31 18:34 +0000
                Re: Wikipedia Mr Flibble <flibble@reddwarf.jmc.corp> - 2022-05-31 19:37 +0100
                Re: Wikipedia muttley@dastardlyhq.com - 2022-05-31 18:42 +0000
                Re: Wikipedia Mr Flibble <flibble@reddwarf.jmc.corp> - 2022-05-31 20:00 +0100
                Re: Wikipedia muttley@dastardlyhq.com - 2022-05-31 19:19 +0000
                Re: Wikipedia Mr Flibble <flibble@reddwarf.jmc.corp> - 2022-05-31 20:28 +0100
                Re: Wikipedia muttley@dastardlyhq.com - 2022-06-01 18:07 +0000
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 20:28 +0200
                Re: Wikipedia scott@slp53.sl.home (Scott Lurndal) - 2022-05-31 19:37 +0000
                Re: Wikipedia Vir Campestris <vir.campestris@invalid.invalid> - 2022-05-31 21:27 +0100
                Re: "std::" (was: Wikipedia) Mr Flibble <flibble@reddwarf.jmc.corp> - 2022-05-31 21:17 +0100
                Re: "std::" (was: Wikipedia) Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 06:33 +0200
                Re: Wikipedia David Brown <david.brown@hesbynett.no> - 2022-06-01 09:34 +0200
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 05:40 +0200
      Re: Wikipedia Manu Raju <MR@invalid.invalid> - 2022-05-31 17:18 +0100
        Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-05-31 18:25 +0200
          Re: Wikipedia David Brown <david.brown@hesbynett.no> - 2022-06-01 09:38 +0200
            Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 09:46 +0200
              Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 10:16 +0200
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 10:21 +0200
                Re: Wikipedia David Brown <david.brown@hesbynett.no> - 2022-06-01 17:13 +0200
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 17:15 +0200
                Re: Wikipedia David Brown <david.brown@hesbynett.no> - 2022-06-01 18:12 +0200
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 18:18 +0200
                Re: Wikipedia Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-01 18:39 +0200

csiph-web