Hacker News new | ask | show | jobs
by uecker 872 days ago
I agree with the criticism that one should not mimick C++ in C.

A good C library would use intrusive data structures, user-controlled memory allocations, not try to replace built-in types (arrays) with inferior alternatives, and not to try to be a kitchen-sink library.

And then it would be obvious such C++ sucks in comparison... ;-)

1 comments

> intrusive data structures, user-controlled memory allocations

That's par for the course in c++.

> not try to replace built-in types (arrays)

How do you pass around C arrays to avoid the braindead pointer decay? You wrap them in a struct. That's literally all that std::array does.

You do not need to wrap arrays into structs to prevent decay. You just take the address as you would do for any other type:

https://godbolt.org/z/Y73j8a7Yf