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


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

Re: why use static_cast ?

From Tim Rentsch <tr.17687@z991.linuxsc.com>
Newsgroups comp.lang.c++
Subject Re: why use static_cast ?
Date 2022-11-15 16:19 -0800
Organization A noiseless patient Spider
Message-ID <864juzeooc.fsf@linuxsc.com> (permalink)
References (1 earlier) <Vqc4L.432362$wLZ8.363475@fx18.iad> <tis3if$ct2g$1@dont-email.me> <tit51u$1lna$1@gioia.aioe.org> <861qqkhn71.fsf@linuxsc.com> <9d92c7fe-af63-446a-8ad1-81e5e28ef8e7n@googlegroups.com>

Show all headers | View raw


Tiib <ootiib@hot.ee> writes:

> On Thursday, 3 November 2022 at 02:54:58 UTC+2, Tim Rentsch wrote:
>
>> Manfred <non...@add.invalid> writes:
>>
>>> On 10/20/2022 8:21 PM, Lynn McGuire wrote:
>>>
>>>> On 10/20/2022 8:55 AM, Scott Lurndal wrote:
>>>>
>>>>> Lynn McGuire <lynnmc...@gmail.com> writes:
>>>>>
>>>>>> I put the following cast into my code and one of my programmers wants me
>>>>>> to use static cast.  Why ?
>>>>>> https://en.cppreference.com/w/cpp/language/static_cast
>>>>>>
>>>>>> longint nfac [8];
>>>>>> fem::str <8> * nfac_str = (fem::str <8> *) nfac;
>>>>>>
>>>>>> fem::str <8> is an 8 character object that acts like a Fortran
>>>>>> character*8. longint is a long long.
>>>>>
>>>>> Young C++ programmers don't understand C, so they think
>>>>> that static_cast<fem::str<8>*> is more "readable".  Heh.
>>>>
>>>> The programmer in question is 39 and has been writing C and C++
>>>> since he was 13 or 14.
>>>>
>>>> His actual comment was that static_cast's are easier to grep which I
>>>> find hard to believe.
>>>
>>> If by grep you mean grep(1), then yes, static_cast is definitely
>>> easier to grep than a C-style cast.
>>> However, the advantage of reinterpret_cast (static_cast wouldn't work)
>>> is not that it is more readable.  It is that it hurts the eye.
>>>
>>> Depending on which compiler you use, I'd verify that what you intend
>>> to do actually works.  As far as the standard is concerned, at least
>>> one necessary condition is that fem::str<8> is effectively an unsigned
>>> char[8].
>>> Otherwise it's UB unless your compiler says otherwise (although it
>>> probably Just Works on any of them, in practice.)
>>
>> If a construct is described by the standard as being undefined
>> behavior, said construct is still undefined behavior no matter
>> what the implementation does.  The condition of being undefined
>> behavior is only a statement of what is mandated (or not) by
>> the standard;  it has nothing to do with whether something
>> "defines" the behavior.
>
> The effect of undefined behavior [...]

Undefined behavior is a classification;  it doesn't have effects.
Moreover the classification holds regardless of how an
implementation might treat constructs that are so classified.

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


Thread

why use static_cast ? Lynn McGuire <lynnmcguire5@gmail.com> - 2022-10-19 21:01 -0500
  Re: why use static_cast ? "daniel...@gmail.com" <danielaparker@gmail.com> - 2022-10-19 19:40 -0700
    Re: why use static_cast ? Lynn McGuire <lynnmcguire5@gmail.com> - 2022-10-20 00:21 -0500
      Re: why use static_cast ? Andrey Tarasevich <andreytarasevich@hotmail.com> - 2022-10-19 23:21 -0700
        Re: why use static_cast ? Juha Nieminen <nospam@thanks.invalid> - 2022-10-20 07:19 +0000
          Re: why use static_cast ? Andrey Tarasevich <andreytarasevich@hotmail.com> - 2022-10-20 00:21 -0700
      Re: why use static_cast ? Paul N <gw7rib@aol.com> - 2022-10-20 04:23 -0700
        Re: why use static_cast ? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-10-20 14:14 +0100
        Re: why use static_cast ? Andrey Tarasevich <andreytarasevich@hotmail.com> - 2022-10-20 09:17 -0700
          Re: why use static_cast ? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2022-10-20 09:52 -0700
            Re: why use static_cast ? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-11-15 17:10 -0800
              Re: why use static_cast ? Juha Nieminen <nospam@thanks.invalid> - 2022-11-16 09:26 +0000
                Re: why use static_cast ? David Brown <david.brown@hesbynett.no> - 2022-11-16 14:36 +0100
                Re: why use static_cast ? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-11-20 05:54 -0800
      Re: why use static_cast ? "daniel...@gmail.com" <danielaparker@gmail.com> - 2022-10-20 08:11 -0700
  Re: why use static_cast ? Andrey Tarasevich <andreytarasevich@hotmail.com> - 2022-10-19 20:09 -0700
  Re: why use static_cast ? Juha Nieminen <nospam@thanks.invalid> - 2022-10-20 05:44 +0000
    Re: why use static_cast ? Gawr Gura <gawrgura@mail.hololive.com> - 2022-10-20 14:50 +0000
      Re: why use static_cast ? JiiPee <kerrttuPoistaTama11@gmail.com> - 2022-10-20 17:53 +0300
  Re: why use static_cast ? Bonita Montero <Bonita.Montero@gmail.com> - 2022-10-20 08:52 +0200
    Re: why use static_cast ? JiiPee <kerrttuPoistaTama11@gmail.com> - 2022-10-20 17:52 +0300
  Re: why use static_cast ? scott@slp53.sl.home (Scott Lurndal) - 2022-10-20 13:55 +0000
    Re: why use static_cast ? JiiPee <kerrttuPoistaTama11@gmail.com> - 2022-10-20 17:55 +0300
      Re: why use static_cast ? scott@slp53.sl.home (Scott Lurndal) - 2022-10-20 15:01 +0000
        Re: why use static_cast ? JiiPee <kerrttuPoistaTama11@gmail.com> - 2022-10-20 18:32 +0300
          Re: why use static_cast ? scott@slp53.sl.home (Scott Lurndal) - 2022-10-20 16:07 +0000
            Re: why use static_cast ? JiiPee <kerrttuPoistaTama11@gmail.com> - 2022-10-20 20:14 +0300
              Re: why use static_cast ? scott@slp53.sl.home (Scott Lurndal) - 2022-10-20 17:30 +0000
                Re: why use static_cast ? JiiPee <kerrttuPoistaTama11@gmail.com> - 2022-10-20 20:41 +0300
              Re: why use static_cast ? Lynn McGuire <lynnmcguire5@gmail.com> - 2022-10-21 14:05 -0500
                Re: why use static_cast ? JiiPee <kerrttuPoistaTama11@gmail.com> - 2022-10-22 00:09 +0300
                Re: why use static_cast ? JiiPee <kerrttuPoistaTama11@gmail.com> - 2022-10-22 08:47 +0300
                Re: why use static_cast ? Lynn McGuire <lynnmcguire5@gmail.com> - 2022-10-22 15:03 -0500
                Re: why use static_cast ? Muttley@dastardlyhq.com - 2022-10-23 07:35 +0000
                Re: why use static_cast ? JiiPee <kerrttuPoistaTama11@gmail.com> - 2022-10-23 15:28 +0300
                Re: why use static_cast ? Lynn McGuire <lynnmcguire5@gmail.com> - 2022-10-23 14:13 -0500
                Re: why use static_cast ? Manfred <noname@add.invalid> - 2022-10-23 20:27 +0200
                Re: why use static_cast ? Michael S <already5chosen@yahoo.com> - 2022-10-23 15:04 -0700
                Re: why use static_cast ? Lynn McGuire <lynnmcguire5@gmail.com> - 2022-10-23 23:14 -0500
          Re: why use static_cast ? Bonita Montero <Bonita.Montero@gmail.com> - 2022-10-21 17:21 +0200
      Re: why use static_cast ? Bonita Montero <Bonita.Montero@gmail.com> - 2022-10-21 17:24 +0200
    Re: why use static_cast ? Lynn McGuire <lynnmcguire5@gmail.com> - 2022-10-20 13:21 -0500
      Re: why use static_cast ? Manfred <noname@add.invalid> - 2022-10-21 05:52 +0200
        Re: why use static_cast ? Lynn McGuire <lynnmcguire5@gmail.com> - 2022-10-21 13:59 -0500
          Re: why use static_cast ? Bo Persson <bo@bo-persson.se> - 2022-10-22 18:31 +0200
            Re: why use static_cast ? Lynn McGuire <lynnmcguire5@gmail.com> - 2022-10-22 15:05 -0500
            Re: why use static_cast ? Lynn McGuire <lynnmcguire5@gmail.com> - 2022-10-22 17:34 -0500
        Re: why use static_cast ? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-11-02 17:54 -0700
          Re: why use static_cast ? Öö Tiib <ootiib@hot.ee> - 2022-11-03 08:51 -0700
            Re: why use static_cast ? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-11-15 16:19 -0800
              Re: why use static_cast ? Öö Tiib <ootiib@hot.ee> - 2022-11-15 23:02 -0800
                Re: why use static_cast ? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-11-20 05:59 -0800
                Re: why use static_cast ? "Alf P. Steinbach" <alf.p.steinbach@gmail.com> - 2022-11-20 15:05 +0100
                Re: why use static_cast ? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-11-20 07:22 -0800
                Re: why use static_cast ? Öö Tiib <ootiib@hot.ee> - 2022-11-20 08:40 -0800
                Re: why use static_cast ? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-12-28 20:43 -0800
    Re: why use static_cast ? Juha Nieminen <nospam@thanks.invalid> - 2022-11-04 07:27 +0000
      Re: why use static_cast ? scott@slp53.sl.home (Scott Lurndal) - 2022-11-04 13:47 +0000
        Re: why use static_cast ? Vir Campestris <vir.campestris@invalid.invalid> - 2022-11-05 21:34 +0000
        Re: why use static_cast ? James Kuyper <jameskuyper@alumni.caltech.edu> - 2022-11-06 03:25 -0500
        Re: why use static_cast ? Paavo Helde <eesnimi@osa.pri.ee> - 2022-11-06 17:34 +0200
          Re: why use static_cast ? Juha Nieminen <nospam@thanks.invalid> - 2022-11-07 07:13 +0000
      Re: why use static_cast ? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2022-11-04 09:09 -0700
  Re: why use static_cast ? Lynn McGuire <lynnmcguire5@gmail.com> - 2022-10-20 13:21 -0500

csiph-web