Например, есть функция, которая что-то делает.Как мне объявить и определить массив внутри функции, которую я хотел бы распределить / инициализировать только один раз?
void someclass::somefunction(/*parameters here*/)
{
static const my_array[4] = {1,2,3,4}; // #1
/*or just*/
const my_array[4] = {1,2,3,4}; // #2
}
Насколько я знаю, в случае №1 "my_array" будет размещен в данныхсегмент и инициализируется один раз при первом вызове «somefunction».Но мой коллега высказал предположение, что дело № 2 работает таким же образом, и нет необходимости писать «статическое» ключевое слово.
Поэтому я хотел бы спросить, говорит ли стандарт что-тоо случаях № 1 и № 2, и если да, то что именно?Как определить такой тип массивов, чтобы быть уверенным, что он будет выделен / инициализирован только один раз?
Спасибо.