Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <86a5h59clb.fsf@linuxsc.com>
Deutsch   English   Français   Italiano  
<86a5h59clb.fsf@linuxsc.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!3.eu.feeder.erje.net!feeder.erje.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Tim Rentsch <tr.17687@z991.linuxsc.com>
Newsgroups: comp.lang.c
Subject: Re: size_t best practice
Date: Thu, 22 Aug 2024 01:38:24 -0700
Organization: A noiseless patient Spider
Lines: 33
Message-ID: <86a5h59clb.fsf@linuxsc.com>
References: <VdCcne2MOeshN1z7nZ2dnZfqnPWdnZ2d@brightview.co.uk> <va275j$3d6tp$1@dont-email.me> <va278t$3d70r$1@dont-email.me> <va27bc$3d6tp$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Date: Thu, 22 Aug 2024 10:38:25 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="dd674af37156d5461d600da65dab9de0";
	logging-data="405193"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+fTBexG3ZH/OKB5NU4eRj/k9fiXv19uWg="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:r9FtTH8rTpBoXVGyQFtTuAfiAlQ=
	sha1:+L8y3c6I0coIc7jIJtC+DGdmHJ4=
Bytes: 1927

Andrey Tarasevich <andreytarasevich@hotmail.com> writes:

> On 08/20/24 6:55 AM, Andrey Tarasevich wrote:
>
>> On 08/20/24 6:53 AM, Andrey Tarasevich wrote:
>>
>>> For example, iteration all the way to 0 can be idiomatically
>>> implemented as
>>>
>>>  for (some_unsigned_type i = size; (some_unsigned_type) i != -1; --i)
>>>  ...
>>
>> Sorry, a typo.  Was meant to be
>>
>>   for (some_unsigned_type i = size; i != (some_unsigned_type) -1; --i)
>>   ...
>
> Of, crap.  One more time
>
>   for (some_unsigned_type i = size - 1;
>        i != (some_unsigned_type) -1;
>        --i)
>     ...
>
> Should be good now :)

To me the redundant cast is a red flag.  A cleaner alternative:

   for( some_unsigned_type i = size;  i > 0 && i--;  ){
      ...
   }

Produces identical code to the above at -O1 (both gcc and clang).