Yes, I am fully aware of std::array but it does not fix the C-style arrays, it just provides another solution for stack-based const size arrays (and one that does not always work as expected due to brace-elision preventing correct deduction of constructors being called for each element).

I am proposing to fix C-style arrays. I don't want yet another const size array container (and especially the one that slows compilation time due to template bloat).


czw., 12 mar 2020 o 23:06 Ryan Nicholl via Std-Proposals <std-proposals@lists.isocpp.org> napisał(a):
We have std::array for this purpose, so that compatibility with C is not broken.





-------- Original Message --------
On Mar 12, 2020, 17:40, Maciej Cencora via Std-Proposals < std-proposals@lists.isocpp.org> wrote:

Hi,

I propose to deprecate in C++23:
1) mixed pointer and array comparisons:
int a[2]; int b[2];
a == &b[0];

2) array decl in func parameters:
void foo(int a[2]);

In order to make C-style arrays behave like other aggregate types in C++26 or later (supported assignments, comparisons, passing and returning from functions)

Regards,
Maciej
--
Std-Proposals mailing list
Std-Proposals@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals