Описание тега initialization-order
0
ответов
Инициализация сопутствующего объекта после внутренних объектов
Допустим, я хочу создать закрытый класс, заполненный некоторыми объектами. Затем я хочу создать список всех таких объектов, поэтому я создаю список в объекте-компаньоне: fun main() { println(Color.Blue) println(Color.allColors) } sealed class Color …
01 мар '19 в 08:48
4
ответа
Это хорошая идея использовать разделы инициализации для регистрации модуля?
Я ищу хорошее решение для децентрализованной регистрации модуля. Я не хочу, чтобы один модуль использовал все модульные модули проекта, но я бы хотел, чтобы модульные модули регистрировались сами. Единственное решение, о котором я могу думать, - это…
29 мар '14 в 15:30
2
ответа
Статический порядок инициализации в классе heirarchy
Недавно я стал мучительно осознавать статический порядок инициализации Fiasco. Мне интересно, хотя правило, что "порядок инициализации не определен в единицах перевода" все еще сохраняется для статических членов родительского класса, которые необход…
17 окт '15 в 23:21
3
ответа
Как выполнить статическую деинициализацию, если деструктор имеет побочные эффекты и доступ к объекту осуществляется из деструктора другого статического объекта?
Существует простой и хорошо известный шаблон, позволяющий избежать статического сбоя при инициализации, описанный в разделе 10.13 C++ FAQ Lite. В этом стандартном шаблоне есть компромисс, заключающийся в том, что либо построенный объект никогда не б…
29 июн '10 в 17:26
2
ответа
Использование бесплатного "char const*" во время статической инициализации
Порядок инициализации свободных объектов не определен в C++. Но как насчет следующего? namespace foo { char const* str = "hey"; struct A { A() { cout << str; } } obj; } Это все еще неопределенное поведение, или есть специальное положение для у…
26 апр '09 в 11:39
0
ответов
Один из моих локальных связанных сервисов зависит от другого. Как я могу убедиться, что он не используется, пока его зависимость не будет готова?
Я реализовал части своего приложения для Android в виде двух локально связанных служб, один из которых зависит от другого. (Я использую только bindService() с ними; никогда startService().) Однако, когда я связываю сервис, который имеет зависимость,…
03 июн '16 в 20:44
1
ответ
Перекрестные ссылки и порядок инициализации объекта
У меня есть следующий код: abstract class SuperClass (cs: Seq[C]) { def init {} } object A extends SuperClass(Seq(B, C)) object B extends SuperClass(Seq(A, D)) object C extends SuperClass(Seq(A, B)) object D extends SuperClass(Seq(C, B, A)) object E…
09 фев '13 в 15:18
5
ответов
C++: Гарантии порядка построения и инициализации
У меня есть некоторые сомнения в отношении порядка построения и порядка инициализации в C++. Например, следующий код имеет четыре класса X, Y, Z а также W, Основная функция создает объект class X, который содержит объект class Yи происходит от class…
25 мар '10 в 15:50
2
ответа
Неоднозначность в порядке инициализации статических переменных
Во время моего исследования лучшего способа создания Singleton в C# я наткнулся на следующую статью, где есть краткое упоминание о том, что в C++ "Спецификация C++ оставила некоторую неоднозначность в отношении порядка инициализации статических пере…
09 июл '12 в 09:50
1
ответ
В C++, учитывая, что const float для всего пространства имен зависит от глобального const float, гарантируется ли их порядок инициализации?
Если есть пара файлов.h/.cpp с чем-то вроде, соответственно, extern const float ge; а также const float ge = 2.2f; в них и другой файл.cpp с чем-то вроде namespace { const float upperLimit = 2.0f * ge; } // namespace bool foo(float a) { return a <…
08 ноя '18 в 08:04
6
ответов
C++ статический порядок инициализации
Когда я использую статические переменные в C++, мне часто приходится инициализировать одну переменную, передавая другую ее конструктору. Другими словами, я хочу создать статические экземпляры, которые зависят друг от друга. В пределах одного файла.c…
17 июн '09 в 08:00
2
ответа
Последовательности вызовов функций в списке инициализатора конструктора?
Рассматривать: int f () { static int i = 0; return i++; } struct Test { int a, b; Test () : a(f()), b(f()) {} }; Test t; я знаю это a инициализируется раньше b в связи с порядком их объявления в struct, Я также знаю, что два звонка f в g(f(), f()) н…
18 апр '17 в 18:39
2
ответа
Как я могу хранить в производном классе информацию, полученную при инициализации базового класса?
У меня возникла ситуация, когда в качестве побочного эффекта при получении данных для инициализации базового класса производный класс вычисляет часть информации, которая впоследствии должна быть доступна через его интерфейс. Следующее дает представл…
25 фев '14 в 13:52
1
ответ
Стандарт C++: почему некоторые "заказы" определены, а некоторые нет?
Имея класс, порядок инициализации его членов строго определен в конструкторе (возможно, чтобы разрешить зависимости между членами, как в этом вопросе - но я думаю, что это больше проблема проектирования, я могу представить циклические зависимости). …
04 янв '14 в 02:39
1
ответ
Упорядочение std::atexit при вызове из конструктора глобального объекта
cppreference говорит о std::atexit: Функции могут вызываться одновременно с уничтожением объектов со статической продолжительностью хранения и друг с другом, сохраняя гарантию того, что если последовательность A была упорядочена до регистрации B, то…
16 май '18 в 19:53
2
ответа
Идиома Именованного Параметра с использованием указателя на закрытый метод класса
Я застрял с ошибкой компиляции C++, когда делал что-то, что, вероятно, не совсем "обычное". Чтобы упростить задачу, я просто переписал механизм, который пытаюсь использовать, чтобы его было легче читать, и проверил, что у меня возникла та же проблем…
20 окт '15 в 12:38
4
ответа
Это самоинициализация действительна?
У меня есть этот вопрос, о котором я думал ранее, но решил, что ответить на него нетривиально int x = x + 1; int main() { return x; } Мой вопрос заключается в том, определено ли поведение программы или нет, если оно действительно. Если это определен…
22 июл '10 в 12:57
2
ответа
Порядок инициализации управления Fiasco
Рассмотрим следующий код: <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <StackPanel> <Slider ValueChanged="slider_ValueChanged/> <TextBox x:Name…
02 мар '12 в 15:24
4
ответа
Проблемы с порядком инициализации
Учитывая пример кода: class B { //Some contents. }; class C { private: B& b; }; class A { private: B b; C c; }; Класс C имеет ссылку на a b, поэтому его необходимо инициализировать. Класс A содержит экземпляр B и экземпляр C. Мой вопрос: могу ли…
10 янв '12 в 18:57
1
ответ
Может ли порядок инициализации полей класса в VB.NET зависеть от ссылок на другие поля?
Возьмите этот пример кода: Class Foo ReadOnly name As String Public Sub New(name As String, dependentUpon As Foo) Me.name = name Console.Write("{0} created. ", name) Console.WriteLine("Dependent upon {0}.", If(dependentUpon IsNot Nothing, dependentU…
19 июн '11 в 16:51