Вопросы по теме 'static-initialization'
Поточно-безопасная инициализация локальных статических константных объектов функции
Этот вопрос заставили меня усомниться в практике, которой я следовал годами.
Для потокобезопасной инициализации локальных статических константных объектов, я защищаю фактическую конструкцию объекта, но не инициализацию локальной ссылки на...
6752 просмотров
schedule
25.09.2021
Неинициализированная переменная-член haxe несовместима на разных платформах
Я пытаюсь перекрестно скомпилировать существующее флеш-приложение, написанное на haxe, в javascript, используя openfl и haxe.
Под вспышкой я могу делать следующее:
class foo
{
var bar : Int;
public function new()
{...
512 просмотров
schedule
04.11.2021
Проблемы реализации фабричного класса
Я реализовал фабричный класс на основе следующей статьи, доступной здесь .
Однако у меня есть одна проблема, и я думаю, что она связана с оптимизацией компилятора.
У меня есть иерархия классов, где класс Node (в Node.h / Node.cpp) является...
151 просмотров
schedule
04.11.2021
Предотвращение фиаско с порядком статической инициализации, C ++
Однажды я прочитал замечательный FAQ по C ++ (это действительно хорошо !!) и прочитал тема о том, как предотвратить" фиаско "статического порядка инициализации. Поэтому автор советует обернуть статические переменные в функции, чтобы предотвратить...
5859 просмотров
schedule
08.10.2021
Произошло ли фиаско с порядком статической инициализации при инициализации переменных внутри класса?
Я пытаюсь реорганизовать наш старый код с С ++ 98 на С ++ 14. И необходимость компилировать как с более старым gcc (c ++ 98), так и с более новым gcc (c ++ 14). Так выглядит наш старый код (это полностью составленный пример нашего сложного кода....
63 просмотров
schedule
16.09.2021
Статическая переменная из статической связанной библиотеки, используемой до ее создания
Я пытался создать для себя фреймворк модульного тестирования, и он работал нормально, пока я не превратил его в статическую библиотеку. Статический контейнер unit_base :: _ units используется до его создания.
Я воспроизвел проблему со следующей...
18 просмотров
schedule
11.03.2022
Почему порядок уничтожения этих локальных статических объектов НЕ является обратным порядку их инициализации?
У меня есть два локальных статических объекта, один и два. Конструктор и деструктор One получают доступ к Two через GetTwo():
#include <iostream>
struct One;
struct Two;
const One& GetOne();
const Two& GetTwo();
struct Two {...
674 просмотров
schedule
01.04.2022
__attribute __ ((конструктор)) путаница в порядке вызова
Ответ здесь демонстрирует, что __attribute __ ((конструктор)) не называется после статической инициализации он вызывается в порядке объявления.
Тогда какова его цель, если ее вызов не гарантируется, когда все данные инициализированы? Мы также...
6001 просмотров
schedule
27.04.2022
Какие классы инициализируются, когда статический метод базового класса вызывается через ссылку на производный класс?
Я думаю, что только базовый класс инициализируется при вызове Derived.f() . Точно так же, как это происходит, когда у нас есть статическое поле (не постоянное во времени компиляции) в базе , а не статический метод. Я сомневаюсь только в том, что...
449 просмотров
schedule
22.04.2022
Статическая инициализация и использование класса в отдельном модуле в D
В моей программе есть класс, который я хочу выделить перед входом в main(). Я хотел бы спрятать их в отдельный модуль, чтобы не загромождать свой код; Однако, как только модуль выходит из области видимости (до ввода main()), объекты освобождаются, и...
121 просмотров
schedule
23.05.2022
Существуют ли какие-либо гарантии в JLS относительно порядка выполнения статических блоков инициализации?
Интересно, надежно ли использовать такую конструкцию, как:
private static final Map<String, String> engMessages;
private static final Map<String, String> rusMessages;
static {
engMessages = new HashMap<String, String> ()...
419 просмотров
schedule
18.07.2022
Использование переменной из другого файла перед основным
У меня небольшие проблемы с пониманием того, почему мой код работает так, как он работает (или не работает так, как должен).
Я пытаюсь написать (на C++) интерфейс, который позволяет использовать некоторые функции, работающие с unordered_map , из...
54 просмотров
schedule
04.09.2022
Инициализация по запросу для нескольких статических переменных без статических вложенных классов?
Я хочу иметь класс с несколькими статическими переменными, которые будут инициализироваться только по требованию.
public class Messages {
public static final String message1 = init1();
public static final String message2 = init2();
}...
229 просмотров
schedule
17.09.2022
Порядок инициализации статических данных внутри шаблона класса
// File: InitFirst.h
#pragma once
template <int val>
struct InitFirst
{
static float s_dividedByThree;
};
template <int val>
float InitFirst<val>::s_dividedByThree = val / 3.0;
// File: Test.h
#include...
845 просмотров
schedule
13.07.2023
Конфигурация Lambdaj FinalClassArgumentCreators для всего приложения. Где и как это сделать?
У нас возникла проблема с настройкой lambdaj для работы с Joda Time. Так как LocalDate является окончательным классом, Lambdaj необходимо инициализировать следующим образом: ( см. ошибку 70 )
public class LocalDateArgumentCreator implements...
204 просмотров
schedule
14.11.2022
clang и gcc по-разному ведут себя при обработке создания шаблонов и статических членов constexpr?
Рассмотрим следующую программу (извините за длину, это самый короткий способ, который я мог придумать, чтобы выразить проблему):
#include <iostream>
#include <vector>
#include <typeindex>
using namespace std;...
225 просмотров
schedule
20.03.2023
Как CLR узнает, было ли уже инициализировано статическое поле?
Есть одна вещь, которая меня всегда интересовала в отношении static fields / constructors .
static class инициализируется при первой ссылке на одно из его полей, это легко.
Но как CLR узнает, что это первый раз?
204 просмотров
schedule
03.01.2023
Почему использование параллельных потоков в статическом инициализаторе приводит к нестабильной взаимоблокировке
ВНИМАНИЕ: это не дубликат, пожалуйста, прочитайте тему внимательно https://stackoverflow.com/users/3448419/apangin цитата:
Настоящий вопрос заключается в том, почему код иногда работает, когда не должен. Проблема воспроизводится даже без...
1345 просмотров
schedule
23.06.2023
Статический массив статических членов: возможность фиаско порядка инициализации
Рассмотрим следующий код:
class Foo {
public:
static const char one[];
static const char two[];
static const char* all[];
};
const char Foo::one[] = "one";
const char Foo::two[] = "two";
const char* Foo::all[] = {Foo::one, Foo::two};...
53 просмотров
schedule
24.09.2023
Могу ли я получить доступ к статическому локальному, пока он создается на C ++?
Стандарт C ++ гарантирует создание статических локальных переменных при первом использовании. Однако мне интересно, что произойдет, если я получу доступ к статическому локальному объекту во время его создания. Я предполагаю, что это УБ. Но как...
996 просмотров
schedule
20.12.2023