Akim Demaille wrote: > > I do admit I usually don't declare my local variables const though > > they often should be > > I recently had to work on some piece of software with coroutines, > and known what variables are immutable was really reassuring.
I haven't done coroutines, but threads, and of course, everything that's exposed there, I make as const as possible. But that doesn't usually include local variables. > In my code I usually try to having the smallest possible scopes > for variables, more for readability than quick destruction, and Me too. > I now spread `const` for similar reason: help the reader. I think it's double-edged. OT1H, when the reader is trying to understand the code in detail, it certainly helps; OT2H on casual quick reading, too much verbosity can distract, especially for code that is not that complex. So as I said, with a more concise syntax, it would be a no-brainer to me, but as things are, I often prefer shorter code. (For a similar reason, I also prefer "i" to "FoobarLoopCounter"; short names are quicker to parse mentally, and with small scopes there's no big danger of forgetting what the variables are, and of course, as a mathematician I'm used to short index variable names anyway. :) > > but > > if "const" with implied "auto" can simply work, that would be great. > > But we're not designing C++ here, I know ... > > I recently changed works, and have to deal with JavaScript. > They have const! But they also have let, and it means something > different... > > https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const But they don't have type declarations. ;) I'm not trying to argue about names ("let", ":=", simple "const" or whatever), I'd just like to have a single thing that declares constness and auto-type (which really is the most common combination I need for local variables). Hans Åberg wrote: > There is Unicode U+2254 COLON EQUALS if one dares leaving the > ASCII range, which in fact I am using in my own language, for > definitions and Hoare logic code. Whether C++ should go Unicode (apart from char/string literals) is another can of worms. Anyway, the token ":=" is also unused in C++ so far (":" "=" doesn't occur in any valid syntax AFAIK). Regards, Frank