vak: (Default)
[personal profile] vak
В частности, передавать массивы в качестве параметров лучше всего по ссылке:
void foo(int (&array)[10])
{
    //...
}

Такую процедуру не удастся вызвать с параметром - массивом другого, неподходящего размера.
Если же написать, как в Си:
void bar(int array[10])
{
    //...
}

то такой параметр фактически обрабатывается как "int *array", и никакой проверки размера массива не делается.

Date: 2020-04-12 04:36 (UTC)
From: [personal profile] sergegers
Лучше void foo(std::span<int, 10>), но всё это синтаксический сахар.
Edited Date: 2020-04-12 04:37 (UTC)

Date: 2020-04-12 20:13 (UTC)
From: [personal profile] sergegers
Он обслуживает и C array и std::array и динамические массивы. Причём статические массивы с проверкой в compile time.