A better way to deal with overloading?
Patrick Schluter via Digitalmars-d
digitalmars-d at puremagic.com
Fri Jan 27 11:05:14 PST 2017
On Friday, 27 January 2017 at 12:59:54 UTC, Kagamin wrote:
> On Friday, 27 January 2017 at 11:16:09 UTC, Patrick Schluter
> wrote:
>> It's funny (or sad) that C has compound types since C99 and
>> that they are good.
>> Your foo(|a,b,|c1,c2,3||,|e|,|f,g,c|) writes as
>>
>> foo((T1){a,b,{c1,c2,c3}}, (T2){e}, (T3){f,g,c});
>>
>> of course, the lack of object orientation and other things
>> makes it easier in C.
>
> It's struct literals, a gcc extension, not in language.
No, they're named compound* literals and they are in the language
since C99.
https://gcc.gnu.org/onlinedocs/gcc-4.2.2/gcc/Compound-Literals.html
* They can be used to initialise also unions and arrays. (int
[10]){0,2,[8]=2} is absolutely legal p.ex.
More information about the Digitalmars-d
mailing list