У меня есть статический массив указателей на функции как член класса.
Мне нужно его инициализировать, но оказалось, что этот массив имеет длину 64 КБ, поэтому нецелесообразно инициализировать его статическим инициализатором, таким как { x, y, z, ... }
, так как это загромождает код.
Вместо этого я должен инициализировать его кодом с несколькими циклами.
Как я понял, это можно сделать, инициализировав массив static
в конструкторе и установив для него флаг, чтобы только конструкция первого экземпляра класса запускала эту инициализацию.
Также доступ к этому статическому флагу из экземпляров не будет потокобезопасным, но это уже другая история.
Есть ли более чистый или лучший способ сделать это?
Я также хотел бы, чтобы этот массив был const
, но я боюсь, что единственный способ сделать это с инициализацией static {}
, верно?
{ &nitializer, &lists }
? AFAIK С++ не имеет отражения? - person sehe   schedule 13.11.2011