Deutsch   English   Français   Italiano  
<va4id0$3rc3n$1@dont-email.me>

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

Path: ...!3.eu.feeder.erje.net!feeder.erje.net!ecngs!feeder2.ecngs.de!168.119.53.7.MISMATCH!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Thiago Adams <thiago.adams@gmail.com>
Newsgroups: comp.lang.c
Subject: Re: on allowing "int a" definition everywhere
Date: Wed, 21 Aug 2024 08:17:52 -0300
Organization: A noiseless patient Spider
Lines: 33
Message-ID: <va4id0$3rc3n$1@dont-email.me>
References: <afdfe7c37c6ad739fd82c7ec0587b82e0963fce2@i2pn2.org>
 <va2i90$3f4dg$1@dont-email.me>
 <pan$8a32c$1fb86219$8ea0c6ae$7c2d1765@invalid.invalid>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 21 Aug 2024 13:17:53 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="87ebdc8a2a448433a767a2e33ec314f2";
	logging-data="4042871"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/MRwdk/3hr+9Bb1ZBTic+99UwcriOD2uw="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:AS95SV26LX50Cx6q7onFdbXEL98=
In-Reply-To: <pan$8a32c$1fb86219$8ea0c6ae$7c2d1765@invalid.invalid>
Content-Language: en-US
Bytes: 2032

On 21/08/2024 01:42, Blue-Maned_Hawk wrote:
> Thiago Adams wrote:
> 
>> initializer inside if is already in C++, and it will probably be on C2Y.
> If it's for consistency with how for loops permit declarations, i would
> _much_  prefer that they just outlaw that to induce consistency.
> 
> (Really, i'd ideally want things to just stay as they are, since
> declarations in for loops are simply too useful for macros.)

I like the ability to declare things inside if.

if (FILE* f = fopen("file.txt", "r"))
{
   /*...*/
   fclose(f);
}

Because it makes the scope of f, associated with the pointed object 
lifetime.

For instance, if you try to use f

if (FILE* f = fopen("file.txt", "r"))
{
   /*...*/
   fclose(f);
}
fwrite(f, ..) ;// ERROR