News for hackers. Stuff that matters.
Re:Tell HN: C Experts Panel – Ask us anything about C by saagarjha on Tuesday April 14, 2020 @07:52PM (#22872871)
Ok, but who actually uses that?
Re:Tell HN: C Experts Panel – Ask us anything about C by kevin_thibedeau on Tuesday April 14, 2020 @09:23PM (#22873482)
The point is to demonstrate that std::array isn't an array.
Re:Tell HN: C Experts Panel – Ask us anything about C by kazinator on Tuesday April 14, 2020 @09:40PM (#22873585)
What makes you so sure that if C got better arrays, those would be arrays, supporting a[i] i[a] commutativity and all?

That is predicated on equivalence to *(a + i) where a is a dumb pointer whose displacement commutes.

Re:Tell HN: C Experts Panel – Ask us anything about C by pjmlp on Wednesday April 15, 2020 @02:45AM (#22875233)
That is a quirk of C's arrays, no other language besides Assembly allows for that.

And even in Assembly, it depends on the CPU flavor which kind of memory accesses are available.

Re:Tell HN: C Experts Panel – Ask us anything about C by kazinator on Wednesday April 15, 2020 @09:51AM (#22877672)
It depends entirely on the whims of the assembly language design. Assembly lanuages for the Motorola 68000 could allow operand syntax like like [A0 + offset], which could commute with [offset + A0], but the predominant syntax for that CPU family has it as offset(A0) which cannot be written A0(offset).

None of that changes what instruction is generated, just like C's quirk is one of pure syntax that doesn't affect the run-time.

Re:Tell HN: C Experts Panel – Ask us anything about C by saagarjha on Tuesday April 14, 2020 @09:26PM (#22873497)
Ok, fair. But for almost all practical purposes, std::array is an appropriate array replacement.