One of the thing I like in D

Boaz Ampleman ba at 1234.de
Tue Oct 8 09:49:03 UTC 2024


On Tuesday, 8 October 2024 at 08:38:15 UTC, Dom Disc wrote:
> On Monday, 7 October 2024 at 20:03:46 UTC, Boaz Ampleman wrote:
>> ```d
>> void main()
>> {
>>     auto a = 0;
>>     auto b = 0;
>>     auto c = 1;
>>
>>     auto ptr = &(c ? a : b);
>>     *ptr = 8;
>>     assert(a == 8);
>>     ptr = &(c ? b : a);
>>     *ptr = 2;
>>     assert(a + b == 10);
>> }
>> ```
>>
>> It's just beautiful
>
> But why pointers?
>
> [...]

yeah sorry, that missed a bit of comments. Here there are: the 
point was that the conditional expression yields a lvalue, hence 
it's candidate to be a sub-expression of the address expression. 
That is just something I had never seen before. I just wanted to 
share the joy ;)


More information about the Digitalmars-d mailing list