Си++ вам не Си
2020-04-11 14:39![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
В частности, передавать массивы в качестве параметров лучше всего по ссылке:
Такую процедуру не удастся вызвать с параметром - массивом другого, неподходящего размера.
Если же написать, как в Си:
то такой параметр фактически обрабатывается как "int *array", и никакой проверки размера массива не делается.
void foo(int (&array)[10]) { //... }
Такую процедуру не удастся вызвать с параметром - массивом другого, неподходящего размера.
Если же написать, как в Си:
void bar(int array[10]) { //... }
то такой параметр фактически обрабатывается как "int *array", и никакой проверки размера массива не делается.
no subject
Date: 2020-04-17 03:55 (UTC)> или для ясности
> void bar(int array_10[])
так проблема в том, что человеку, возможно, это и помогает, а железяке - нет. Нет возможности громко закричать если юсер запулил туда массив из 9ти элементов.
> void bar(int array[], 22)
это Фортран с точки зрения С