4 ms·
I've been a professional C++ programmer for 24 years now, and neither I, nor anyone I've worked with over this period, used this ridiculous style.
by agent327 5y ago
I've been a professional C++ programmer for 24 years now, and neither I, nor anyone I've worked with over this period, used this ridiculous style.
- fnord123 5y agoI've used it on larger teams where some enums for feature flags end up getting conflicts all the damn time when you add to the end because the last entry doesn't have a comma. This might be fixed in various languages/parsers by allowing a trailing comma (e.g. python). At the end of the day, clang-tidy, black, gofmt, rustfmt all the things and let's never talk about comma placement again.
- agent327 5y agoWhat if C++ actually allowed that comma? Because... it does.
- jcelerier 5y agonot everywhere, I often have a need for it in template arguments for instance for type lists: std::conditional< some_property< T, U, >, int, float, >; is a compile error, I really prefer std::conditional< some_property< T , U > , int , float >;
- fnord123 5y agoThat's only from C++11. The story I was telling you was from before then. $ cat test.cc enum Foo { FOO, BAR, }; int main(int argc, char** argv) { return 0; } $ g++ -std=c++98 -Wpedantic test.cc test.cc:3:5: warning: comma at end of enumerator list [-Wpedantic] 3 | BAR, | $ g++ -std=c++03 -Wpedantic test.cc test.cc:3:5: warning: comma at end of enumerator list [-Wpedantic] 3 | BAR, | ^ $ g++ -std=c++11 -Wpedantic test.cc
- isatty 5y agoIt’s a Haskell thing, and while I don’t use it in any other language, it does look very neat and readable in Haskell.
- Zagitta 5y agoHow many code bases have you actually worked on? I can tell you it's very common in constructor initializer-lists to the point that both the mozilla and webkit styles of clang-format does it.