3 ms·
I’m really not seeing what the issue is here. Could you expand on it? As a programmer why do I have to reason or care whether something is compile time only or
by elteto 5y ago
I’m really not seeing what the issue is here. Could you expand on it?
As a programmer why do I have to reason or care whether something is compile time only or not? I don’t worry about constant folding but it is a similar thing.
- eps 5y agoProposed constexpr syntax mimics that of a conventional variable, yet it doesn't create one and comes with distinctly different usage semantics. It's a different language element, I see no reason why it should be bundled up with another one.
- elteto 5y agoConventional variable syntax may not create a variable either. The compiler elides as it can or sees fit. This is my point, you don’t reason about these details today, why should constexpr be different?
- huhtenberg 5y agoBecause constexpr and variables are not the same thing? E.g. with a variable you can still always take its address. With constexpr you can't. Plus 'constexpr' is a patently ugly keyword. Also an important metric to consider :)
- elteto 5y agoMy point is that arguing about what is a variable is moot in the presence of compiler optimizations. You might think that taking and address makes a difference but if the compiler decides that it can elide it will (for example if the taken address never leaves the local scope and the variable is purely local then the compiler might be able to optimize it away). Regarding ugliness… Idk beauty is in the eye of the beholder. I happen to like constexpr ;)