При выделение массив динамический способом, компилятор "знает" его размер, и хранить его где-то в любом случае.
int arr = new int[444]; // --> 444 где то в памяти хранится, все равно.
....
delete [] arr; // -> Если компилятор "незнал" бы размер, здесь он не смог бы удалить весь выделенный память.
Предлагаю добавить функция "извлекающий" тот размер из памяти.
Типа того get_dynamic_array_allocated_size.
<Примеры, где ваша идея будет полезна. Чем больше примеров и чем большую аудиторию они охватывают - тем лучше>
Это очень полезно в std::unique_ptr<T[]> , теперь там можно добавить size() метод возвращающий размер массива.
Это удобно в std::vector<T, std::allocator> с стандартнами аллокатаорами, теперь vector capacity можно не хранить, а спросить это из аллокатора.
При выделение массив динамический способом, компилятор "знает" его размер, и хранить его где-то в любом случае.
Предлагаю добавить функция "извлекающий" тот размер из памяти.
Типа того
get_dynamic_array_allocated_size
.<Примеры, где ваша идея будет полезна. Чем больше примеров и чем большую аудиторию они охватывают - тем лучше> Это очень полезно в std::unique_ptr<T[]> , теперь там можно добавить size() метод возвращающий размер массива.
Это удобно в std::vector<T, std::allocator> с стандартнами аллокатаорами, теперь vector capacity можно не хранить, а спросить это из аллокатора.
<Код c реализацией вашей идеи, если есть>
Полезные ссылки: