Sujet : Re: on allowing "int a" definition everywhere
De : thiago.adams (at) *nospam* gmail.com (Thiago Adams)
Groupes : comp.lang.cDate : 21. Aug 2024, 12:17:52
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <va4id0$3rc3n$1@dont-email.me>
References : 1 2 3
User-Agent : Mozilla Thunderbird
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