Re:Implementing a Struct of Arrays
by Enthouan on Friday May 09, 2025 @10:47AM
(#43937385)
I’m definitely missing the point, but reading the article, I kept thinking "This would’ve been so much easier in C."
[ Parent
| on HN ]
I don't see how it would be easier. Whatever you can do in C, you can do in C++. That said, I was also a bit confused, since I guess I don't keep up with the latest C++ updates enough.
No, it would be impossible in C, the "it" here being the automatic conversion of a struct to an array of the struct's fields. Sure, you can do that pretty easily by hand in C, but you can also do it easily by hand in C++, so whatever. The point of the article is the metaprogramming.
I get the impression that ("pure") C programmers say things like that because they don't get themselves into situations where they feel they'd want the metaprogramming.
They might think that they don't need metaprograming, but like everyone else, they eventually do.
That's how we get monstrosities like https://github.com/freebsd/freebsd-src/blob/master/sys/sys/q... (plenty of Linux equivalents --- e.g. the tracepoint stuff)
Better to use a language with thoughtful metaprogramming than tack it on badly later.