vak: (Default)
Serge Vakulenko ([personal profile] vak) wrote2020-04-11 02:39 pm

Си++ вам не Си

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

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

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

[personal profile] ircicq 2020-04-11 10:11 pm (UTC)(link)
Рекомендуется всё же форма: std::array<int, 10>
norian: (Default)

[personal profile] norian 2020-04-11 10:30 pm (UTC)(link)
этот темплейтный класс с кучей потрохов вообще низачем не нужен

вот что не рекомендуецца так это числовые константы в коде, их лучше определять в топовом хедере как const size_t myArrayLimit = 10; и не искать потом по всему коду