Вопросы по теме 'static-initialization'

Статическая инициализация мьютекса pthreads
Как, используя pthreads, в C инициализировать статический массив мьютексов? Кажется, для одного статического мьютекса я могу использовать PTHREAD_MUTEX_INITIALIZER. Но как насчет их статического массива? Как, например, #include...
43669 просмотров
schedule 17.05.2022

Как принудительно инициализировать статический член?
Рассмотрим этот пример кода: template<class D> char register_(){ return D::get_dummy(); // static function } template<class D> struct Foo{ static char const dummy; }; template<class D> char const Foo<D>::dummy =...
5005 просмотров

Лучший способ инициализировать член статического массива класса в С++ (предпочтительнее использовать const)
У меня есть статический массив указателей на функции как член класса. Мне нужно его инициализировать, но оказалось, что этот массив имеет длину 64 КБ, поэтому нецелесообразно инициализировать его статическим инициализатором, таким как { x, y, z,...
334 просмотров

Применяется ли фиаско статической инициализации С++ к иерархии классов?
Я получаю сбой (ошибка утверждения отладки: неверный указатель кучи CRT в VC++ 2008) при статической инициализации, и я не уверен, что понимаю, почему. Я прочитал все о статической инициализации. фиаско в C++ FAQ , и я думал, что понял это - я...
238 просмотров

Почему компилятор не генерирует код для статической переменной-члена моего неустановленного класса шаблона?
Этот вопрос трудно сформулировать, в первую очередь из-за терминов «создание экземпляров класса» и «создание экземпляров шаблона». У меня есть шаблонный класс, полный статических функций и членов. Перед первым использованием каждой специализации...
212 просмотров
schedule 20.02.2023

Альтернативы C ++ статическим блокам Java
Я пишу класс даты, где я хочу, чтобы статическая карта отображала «Янв» на 1 и так далее. Мне интересно, как я могу инициализировать эту статическую карту. Это то, что я сейчас делаю, но я просто чувствую, что дополнительный оператор if неэлегантен...
620 просмотров
schedule 14.01.2023

MISRA 9.2 инициализация массивов с плавающей запятой и беззнаковых массивов
В следующих строках я получаю сообщения о различных проблемах из инструмента статического анализа Parasoft C / C ++ Test и из программы проверки MISRA IAR Embedded Workbench: [1] static unsigned int array_a[30] = {0U}; [2] static float array_b[20]...
2136 просмотров
schedule 10.09.2022

Почему мне не инициализировать статическую переменную в заголовке?
Итак, допустим, у меня есть такой заголовок: #ifndef BASECLASS_H #define BASECLASS_H class BaseClass { public: static int getX(){return x;} private: static int x; }; int BaseClass::x = 10; #endif Я много раз слышал,...
3898 просмотров

Почему статическое поле const char* должно быть constexpr, чтобы инициализировать его внутри класса?
У меня есть следующий фрагмент кода: struct st { static constexpr const int x = 2; static constexpr int x2 = 2; static const int x3 = 2; static const char* str = "BLAH"; // ERROR }; отмеченная строка дает мне следующую ошибку:...
39 просмотров

Статическая инициализация перед элементами Enum
Невозможно выполнить статическую инициализацию перед инициализацией элементов перечисления в Java, поскольку элементы перечисления всегда должны быть сначала объявлены и инициализированы. Если статическая инициализация не зависит от элементов...
1265 просмотров
schedule 04.01.2023

Порядок инициализации статического члена в одном классе C#
Рассмотрим следующий фрагмент класса с двумя статическими переменными-членами: public static class Foo { static string A = GetA(B); static string B = "required for A"; ......
151 просмотров
schedule 23.04.2022

Постоянная инициализация зависимых нелокальных постоянных переменных с плавающей запятой со статической продолжительностью хранения в различных единицах трансляции
Мне интересно, могу ли я полагаться на постоянную инициализацию, когда есть зависимость между двумя постоянными нелокальными переменными с плавающей запятой со статической продолжительностью хранения в двух разных единицах перевода - где одна зависит...
200 просмотров

Порядок инициализации статических встроенных членов
Хорошо известная проблема в C++ — это фиаско статического порядка инициализации . По-прежнему считается ли проблемой использование статических встроенных членов C++17 ? Вот пример, где статический встроенный член используется в двух разных...
8673 просмотров
schedule 11.07.2023

Почему адрес вложенной функции (расширение GNU) в GCC считается компилятором не постоянным?
Компилятор GNU C содержит хорошее расширение для языка C, которое называется Вложенные функции . Тем не менее, документация неясна в некоторых моментах. Например, говорится, что Можно вызвать вложенную функцию из-за пределов области ее имени,...
93 просмотров

Инициализировать статические переменные интерфейса через Enum
Я пытаюсь понять поведение ниже, все, что я пытаюсь, это инициализировать статическую переменную интерфейса с помощью метода перечисления. enum Hello { ProfileResolver(); public Hello resolve() { System.out.println("resolve...
88 просмотров
schedule 19.06.2023

статическая или динамическая инициализация?
Правда ли, что в следующем коде, который я взял из другого вопрос , в соответствии со стандартом, статическая переменная-член w должна быть инициализирована динамически? // MyClass.h: class MyClass { public: static int z; }; //...
81 просмотров
schedule 19.05.2024

Почему переменные с квалификацией const принимаются в качестве инициализаторов в gcc?
При компиляции этого кода в последней версии gcc (или clang) с -std=c17 -pedantic-errors -Wall -Wextra static const int y = 1; static int x = y; тогда я не получаю диагностического сообщения компилятора, хотя я вполне уверен, что это...
202 просмотров
schedule 22.07.2023