Re: size_t best practice

Liste des GroupesRevenir à l c 
Sujet : Re: size_t best practice
De : tr.17687 (at) *nospam* z991.linuxsc.com (Tim Rentsch)
Groupes : comp.lang.c
Date : 22. Aug 2024, 15:12:53
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <865xrsaega.fsf@linuxsc.com>
References : 1 2 3 4
User-Agent : Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Ike Naar <ike@sdf.org> writes:

On 2024-08-22, Tim Rentsch <tr.17687@z991.linuxsc.com> wrote:
>
Andrey Tarasevich <andreytarasevich@hotmail.com> writes:
>
We can immediately apply the pattern I demonstrated above to this
and get
>
  for (size_t i = v->_size - 1; i != index - 1; --i)
    v->_values[i + 1] = v->_values[i];
>
Done.  No need for an extra safeguard.
>
Better (please ignore cosmetic layout differences):
>
    for( size_t i = v->_size;  i > index;  i--  ){
        v->_values[i] = v->_values[i-1];
    }
>
Or even get rid of the for loop, and use memmove() :
>
  memmove(v->_values + index + 1, v->_values + index,
          (v->_size - index) * sizeof *v->_values);

Yes, although that ignores the context of the question
that was asked, about how to deal with loop index
variables in the presence of possible "underflow".


Date Sujet#  Auteur
18 Aug 24 * size_t best practice23Mark Summerfield
18 Aug 24 +* Re: size_t best practice3Ike Naar
18 Aug 24 i`* Re: size_t best practice2Mark Summerfield
20 Aug 24 i `- Re: size_t best practice1Andrey Tarasevich
18 Aug 24 +- Re: size_t best practice1Michael S
18 Aug 24 +- Re: size_t best practice1Tim Rentsch
18 Aug 24 +* Re: size_t best practice6Stefan Ram
18 Aug 24 i+* Re: size_t best practice4Michael S
19 Aug 24 ii`* Re: size_t best practice3Tim Rentsch
19 Aug 24 ii `* Re: size_t best practice2Michael S
19 Aug 24 ii  `- Re: size_t best practice1Tim Rentsch
18 Aug 24 i`- Re: size_t best practice1Tim Rentsch
20 Aug 24 +* Re: size_t best practice7Andrey Tarasevich
20 Aug 24 i+* Re: size_t best practice3Andrey Tarasevich
20 Aug 24 ii`* Re: size_t best practice2Andrey Tarasevich
22 Aug 24 ii `- Re: size_t best practice1Tim Rentsch
22 Aug 24 i`* Re: size_t best practice3Tim Rentsch
22 Aug 24 i `* Re: size_t best practice2Ike Naar
22 Aug 24 i  `- Re: size_t best practice1Tim Rentsch
24 Aug 24 +* Re: size_t best practice3Bonita Montero
25 Aug 24 i`* Re: size_t best practice2Bonita Montero
26 Aug 24 i `- Re: size_t best practice1Vir Campestris
27 Aug 24 `- Re: size_t best practice1Bonita Montero

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal