Описание тега static-initialization

Вопросы относительно кода инициализации статических членов
3 ответа

Вызов небиблиотечного кода из библиотеки Android

С тех пор как Android представил библиотечные проекты, я конвертировал свое приложение в библиотеку, чтобы я мог сделать несколько версий с соответствующими настройками (например, бесплатная и профессиональная версия, использующая одну и ту же кодов…
2 ответа

Общий тип, производный от Фортрана: инициализация?

У меня проблемы с этим общим: COMMON /REDCOM/ DPREC,NITMA,INDIC,NBERR,NCAR,KMOTLU, & REDVAR,MOCDER(2) COMMON /REDCO1/ CTEXT C type(double_st) :: DPREC INTEGER :: NITMA,INDIC,NBERR,NCAR,KMOTLU,REDVAR,MOCDER CHARACTER(72) :: CTEXT CHARACTER(4) :: …
15 июн '15 в 15:15
2 ответа

Нормально ли для статической инициализации C++ дважды появляться в одной и той же трассировке?

Я пытаюсь отладить программу на C++, скомпилированную с GCC, которая зависает при запуске. Мьютекс GCC защищает статические локальные переменные функции, и кажется, что ожидание получения такой блокировки - вот почему она зависает. Как это происходи…
14 апр '10 в 21:38
1 ответ

Инициализировать статический член внутри конструктора экземпляра

Я хочу инициализировать статическую переменную-член внутри конструктора конкретного экземпляра. Это плохая идея? Ситуация следующая. У меня есть статическая переменная-член, которую должны использовать все экземпляры этого класса. Обычно я бы просто…
28 июл '16 в 16:54
3 ответа

Плохо ли указывать размер массива с помощью переменной вместо `#define` в C++? (Ошибка C: изменяемая в области видимости файла)

В C, объявление размера массива с помощью переменной, даже если это const переменная, НЕ допускается. Пример: это не компилируется в C: #include <stdio.h> const int SIZE = 2; int a[SIZE]; int main() { a[0] = 1; a[1] = 2; printf("%i, %i", a[0],…
2 ответа

Ада инициализация управляемой переменной синглтона

Я пытаюсь создать пакет с одноэлементной переменной, которая автоматически инициализируется. Если переменная singleton не является контролируемым типом, то компилятор не будет жаловаться, но когда я сделаю его управляемым, я получу предупреждение:"н…
1 ответ

В C++ простые фиктивные инициализации встроенного типа неуязвимы для статического порядка инициализации?

Я знаю о статическом порядке инициализации фиаско в C++ и конструкции при первом использовании, чтобы избежать этого. Таким образом, в приведенном ниже коде глобальное присвоение a может случиться до того foo::a и поэтому значение a не определено С …
1 ответ

Пустой std::string в инициализаторе статического метода

Я использую статический метод для инициализации константных полей класса. Статический метод использует некоторые константные переменные, которые хранятся в отдельном заголовочном файле. Примитивные типы правильно передаются статическому методу, но s…
2 ответа

Лучший способ инициализировать член статического массива класса в C++ (хотя предпочтительнее использовать const)

У меня есть статический массив указателей на функции в качестве члена класса. Мне нужно его инициализировать, но оказывается, что этот массив имеет длину 64 КБ, поэтому нецелесообразно инициализировать его статическим инициализатором, таким как { x,…
1 ответ

Закрытая статическая переменная свойства приводит к исключению нулевого указателя

Я установил частный статический объект свойств для загрузки в некоторой конфигурации для моего фабричного класса в конструкторе фабричного класса. public class BussinessServiceFactory { private static final BussinessServiceFactory factory = new Buss…
2 ответа

Инициализация статического std:: map<int, unique_ptr <int >> в C++

Это похоже на этот пост. Ответ, который, как мне кажется, наиболее перспективен, связан с шаблонной статической инициализацией. Вот класс из этого ответа: template &lt;typename T, typename U&gt; class create_map { private: std::map&lt;T, U&gt; m_map…
3 ответа

std::set используется как статическая переменная-член

Я пытаюсь создать что-то вроде Enum в стиле Java, которое я называю флагом. Требования состоят в том, чтобы каждый флаг был статическим, поэтому на флаги можно ссылаться напрямую, каждый флаг хранит строку своего имени и весь набор, повторяемый и сп…
09 май '11 в 13:49
2 ответа

Пружинная статическая инициализация боба

Привет, как бороться со статической инициализацией в Spring? Я имею в виду, мой бин имеет статическую инициализацию private static final Map&lt;String, String&gt; exceptionMapping = ErrorExceptionMapping.getExceptionMapping(); И мне нужно позаботить…
22 ноя '10 в 16:31
2 ответа

Статический порядок инициализации в классе heirarchy

Недавно я стал мучительно осознавать статический порядок инициализации Fiasco. Мне интересно, хотя правило, что "порядок инициализации не определен в единицах перевода" все еще сохраняется для статических членов родительского класса, которые необход…
6 ответов

Как эффективно заполнить объектный литерал Javascript множеством статических пар ключ / значение?

Типичный способ создания объекта Javascript заключается в следующем: var map = new Object(); map[myKey1] = myObj1; map[myKey2] = myObj2; Мне нужно создать такую ​​карту, где ключами и значениями являются строки. У меня есть большой, но статический н…
05 фев '13 в 16:17
1 ответ

Как узнать, была ли выполнена инициализация статического блока?

Я пытаюсь избавиться от некоторых утечек памяти. Я хотел бы сбросить все статические переменные всех классов (не только моих) из загрузчика классов. E сть classes атрибут, который перечисляет все классы, известные ClassLoader. Поэтому я просто хочу …
02 май '13 в 13:15
1 ответ

Показать порядок инициализации статических объектов C++ в программе?

Я пытаюсь получить дамп объекта для печати в порядке, в котором создаются статические объекты C++. я нашел -h для заголовков, но я не могу заставить objdump идти дальше. Программа составлена ​​без init_priority $ objdump -h cryptest.exe cryptest.exe…
2 ответа

Статическая инициализация мьютекса pthreads

Используя pthreads, как в C инициализировать статический массив мьютексов? Кажется, я могу использовать PTHREAD_MUTEX_INITIALIZER для одного статического мьютекса. Но как насчет их статического массива? Как, например, в #include #define NUM_THREADS …
28 фев '11 в 06:09
1 ответ

Статический указатель на потокобезопасность инициализации объекта

В C++11 следующее является поточно-ориентированным: void someFunc() { static MyObject object; } Но что насчет void someFunc() { static MyObject *ptr = new MyObject(); } Это тогда потокобезопасный или нет? Как было отмечено в комментариях @Nawaz, воз…
24 июл '14 в 12:16
3 ответа

Как выполнить статическую деинициализацию, если деструктор имеет побочные эффекты и доступ к объекту осуществляется из деструктора другого статического объекта?

Существует простой и хорошо известный шаблон, позволяющий избежать статического сбоя при инициализации, описанный в разделе 10.13 C++ FAQ Lite. В этом стандартном шаблоне есть компромисс, заключающийся в том, что либо построенный объект никогда не б…