logoalt Hacker News

p0w3n3dtoday at 5:20 AM2 repliesview on HN

  Address white_house{
    .street = "1600 Pennsylvania Avenue NW",
    .city = "Washington",
    .state = "District of Columbia",
    .zip = 20500,
  };
For me this is the most important initialization in C that helps with clarity so much, I used mostly structs to have function parameters intialized like this

However C++ had at time no default initialization for unmentioned fields, so in 2017 I had to remove it when converting the code to C++


Replies

einpoklumtoday at 9:49 AM

Designated initializers were unofficially supported by GCC (and clang IIANM) since around when C++11 was supported. See:

https://godbolt.org/z/3aKaa7dnM

only if you specifically ask to get an error, would you actually get it.