Вопросы по теме 'static-initialization'
Ошибки инициализации статического внутреннего класса Java
Контекст: класс java.io.File имеет статический метод внутреннего класса следующим образом:
LazyInitialization.temporaryDirectory();
[ОТРЕДАКТИРОВАНО, чтобы добавить еще немного кода] Мой код ниже в конечном итоге вызывает указанную выше...
1639 просмотров
schedule
11.09.2022
Что составляет неудачную инициализацию статических переменных или переменных продолжительности хранения потока в области блока?
Ответив на этот вопрос и не найдя удовлетворительного ответа в стандартной статье, я начал задаваться вопросом. В стандарте указано следующее: инициализация указанных переменных:
§6.7 [stmt.dcl] p4
[...] В противном случае такая...
280 просмотров
schedule
05.06.2024
Как смягчить воздействие API-интерфейса на пользователя от общих членов в шаблонных классах?
Допустим, у меня есть таблица поиска, которую я могу построить для заданного целого числа:
class FooLookupTable {
...
public:
FooLookupTable(int radix) {
...
}
};
Затем есть класс, параметр шаблона которого является тем...
198 просмотров
schedule
19.09.2022
Является ли инициализация локального статического объекта-функции поточно-ориентированной?
Следующие две функции создают разные сборки, что говорит мне, что они разные. Может кто подскажет, чем они разные? И является ли инициализация локальной статической переменной функции в func2 потокобезопасной или нет? Если ответ зависит от...
653 просмотров
schedule
02.11.2023
Статическая инициализация Java с наследованием
public class Main {
public static void main(String[] args) {
System.out.println(B.x);
}
}
class A {
public static String x = "x";
}
class B extends A {
static {
System.out.print("Inside B.");
}
}
Вопрос:...
3149 просмотров
schedule
13.05.2023
Статический инициализатор запускается после конструктора, почему?
У меня есть 2 класса:
Класс А:
public class A {
static B b = new B();
static {
System.out.println("A static block");
}
public A() {
System.out.println("A constructor");
}
}
Класс Б:
public...
3723 просмотров
schedule
18.06.2023
Когда использовать инициализаторы?
Недавно я столкнулся со следующим синтаксисом java:
static {
...
}
очевидно, это известно как "статический инициализатор" (см. Статический блок в Java ) и " выполняется при загрузке класса ". Когда следует использовать статический...
164 просмотров
schedule
03.11.2022
Повторное использование статического блока инициализации
Я обнаружил, что использование статического блока инициализации в Enum отлично подходит для реализации пользовательской функции valueOf, как описано здесь .
public static RandomEnum getEnum(String strVal) {
return strValMap.get(strVal);
}...
103 просмотров
schedule
21.05.2022
Идиома C ++ Nifty Counter; Почему?
Недавно я наткнулся на Идиому изящных счетчиков . Насколько я понимаю, это используется для реализации глобальных переменных в стандартной библиотеке, таких как cout, cerr и т. Д. Поскольку эксперты выбрали его, я предполагаю, что это очень сильный...
3491 просмотров
schedule
05.06.2022
Чем отличаются Zero-Initialization, Static-Initialization и Value-Initialization?
Бен Фойгт указал здесь это:
Нулевая инициализация — это один из шагов статической инициализации. Но вы правы, что нельзя слепо подставлять последний (тег), так как для инициализации значения тоже выполняется нулевая инициализация. Однако...
172 просмотров
schedule
22.07.2023
Статическая инициализация большой карты
Я статически инициализирую большой (~ 20 КБ) std::unordered_map
const std::unordered_map<std::string, std::string> mapStringToString{
{"AAF", "ELN"}, {"ACT", "POC"}, {"AEK", "THJ"}, {"AFO", "EUP"},
{"AHB", "HYW"}, {"AIB", "GFW"}, {"AJX",...
717 просмотров
schedule
15.10.2022
Инициализация статических членов шаблонов классов с побочными эффектами
Мое приложение C++14 должно динамически создавать и уничтожать объекты определенного типа. Каждый из этих объектов имеет имя, и имя присваивается при создании объекта. Каждое имя жестко закодировано как строковый литерал. Следующий псевдокод...
95 просмотров
schedule
27.05.2023
Ранняя динамическая инициализация С++
В текущем стандарте C++ абзац [basic.start.static] p. 3 говорит (выделено мной):
Реализации разрешено выполнять инициализацию переменной со статической или продолжительностью хранения потока как статическую инициализацию, даже если такая...
115 просмотров
schedule
07.08.2023
Является ли плохой практикой указывать размер массива с помощью переменной вместо `#define` в C++? (Ошибка C: переменная модификация в области файла)
В C объявление размера массива с помощью переменной, даже если это переменная const , НЕ разрешено. Пример: это не скомпилируется в C:
#include <stdio.h>
const int SIZE = 2;
int a[SIZE];
int main()
{
a[0] = 1;
a[1] = 2;...
738 просмотров
schedule
12.07.2023
Как безопасно обойти циклы BeforeFieldInit и статического конструктора?
Меня беспокоит взаимодействие между следующими двумя видами поведения:
http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-335.pdf#page=179
2.1. Если тип еще не инициализирован, попробуйте установить блокировку...
174 просмотров
schedule
10.04.2023
Почему запуск потока из статического инициализатора и ожидание его завершения приводит к взаимоблокировке?
Я беру код из этого ответа - https://stackoverflow.com/a/9286697/2674303
Причина, по которой я создал текущую тему, заключается в том, что я не понимаю, почему этот код приводит к тупику:
public class Lock implements Runnable {
static {...
126 просмотров
schedule
08.10.2022
Явное создание шаблона класса со статическим членом в статической библиотеке
Вопрос, который я собираюсь задать, связан с библиотекой C++ с поддержкой постоянства, над которой я работаю. Однако мне удалось разобрать мою проблему на простом примере, поэтому я не буду вдаваться в подробности своего исходного сценария, если...
94 просмотров
schedule
21.12.2022
статическая карта инициализирована неправильно?
Я использую некоторый код С++ в статической библиотеке в приложении macOS. Код С++ содержит следующее:
static map<char*, char*> aMap1;
__attribute__((constructor))
static void initialize() {
{
static map<char*, char*> aMap2;...
91 просмотров
schedule
07.03.2023
Ошибка инициализации статического члена данных С++ в Eigen
Я использую gcc-10 и Eigen 3.3.9 в Ubuntu 18.04. Этот фрагмент компилируется и работает нормально:
struct S {
static inline Eigen::Vector3f u{1, 1, 1};
};
int main() {
Eigen::Vector3f u(1, 1, 1);
}
но последняя версия инициализации при...
77 просмотров
schedule
20.02.2023