Тема: Ініціалізація статичних членів класу функцією.
Доброго часу доби!
Подібний код вдало компілюється за допомогою Visual Studio та g++, та чи відповідає він стандарту?
SomeClass SomeFunction (int, int);
class A
{
public:
static SameClass element;
};
SameClass A::element = SomeFunction(0, 0);
На жаль мені не вдалось знайти відповідь на це питання у книзі Страуструпа, він тільки зазначає, що статичне поле/функція має бути описане в класі і визначене у глобальній області видимості, а от чи можна для цього використовувати виклик довільної функції - ні слова.
Отже чи вірно я розумію, що так робити можна і поле element буде гарантовано ініціалізовано правильним значенням ще до створення першого об’єкту класу А?