Вопросы с тегом «initializer»

357
В чем разница между статическим и нестатическим блоком кода инициализации

Мой вопрос об одном конкретном использовании статического ключевого слова. Можно использовать staticключевое слово для покрытия блока кода внутри класса, который не принадлежит ни одной функции. Например, следующий код компилируется: public class Test { private static final int a; static { a = 5;...

194
Почему поиск инициализатора типа вызывает исключение NullReferenceException?

Это поставило меня в тупик. Я пытался оптимизировать некоторые тесты для Noda Time, где у нас есть проверка инициализатора типа. Я думал, что выясню, есть ли у типа инициализатор типа (статический конструктор или статические переменные с инициализаторами), прежде чем загружать все в новый...

176
статические конструкторы в C ++? Мне нужно инициализировать частные статические объекты

Я хочу иметь класс с закрытым статическим членом данных (вектор, который содержит все символы az). В Java или C # я могу просто создать «статический конструктор», который будет запускаться до того, как я создам экземпляры класса, и установить статические члены-данные класса. Он запускается только...

136
Являются ли Java статические инициализаторы потокобезопасными?

Я использую статический блок кода для инициализации некоторых контроллеров в реестре, который у меня есть. Поэтому мой вопрос: могу ли я гарантировать, что этот статический блок кода будет вызываться только один раз при первой загрузке класса? Я понимаю, что не могу гарантировать, когда будет...

114
Почему скобки конструктора инициализатора объекта C # 3.0 необязательны?

Кажется, что синтаксис инициализатора объекта C # 3.0 позволяет исключить пару круглых скобок открытия / закрытия в конструкторе, когда существует конструктор без параметров. Пример: var x = new XTypeName { PropA = value, PropB = value }; В отличие от: var x = new XTypeName() { PropA = value, PropB...

101
Вызов метода Java без имени

Я смотрел на приведенный ниже код и обнаружил что-то странное: public class Sequence { Sequence() { System.out.print("c "); } { System.out.print("y "); } public static void main(String[] args) { new Sequence().go(); } void go() { System.out.print("g "); } static { System.out.print("x "); } } Я...

99
Инициализация массива членов в инициализаторе конструктора

class C { public: C() : arr({1,2,3}) //doesn't compile {} /* C() : arr{1,2,3} //doesn't compile either {} */ private: int arr[3]; }; Я считаю, что причина в том, что массивы можно инициализировать только с помощью = синтаксиса, а именно: int arr[3] = {1,3,4}; Вопросы Как я могу делать то, что хочу...

98
Инициализация члена при использовании делегированного конструктора

Я начал пробовать стандарт C ++ 11 и нашел этот вопрос, который описывает, как вызвать ваш ctor из другого ctor в том же классе, чтобы избежать использования метода инициализации и т.п. Теперь я пробую то же самое с кодом, который выглядит следующим образом: hpp: class Tokenizer { public:...

84
Блок статической инициализации в Котлине

Что эквивалентно блоку статической инициализации в Котлине? Я понимаю, что в Kotlin нет статичных вещей. Я ищу что-то с эквивалентной семантикой - код запускается один раз при первой загрузке класса. Мой конкретный вариант использования заключается в том, что я хочу включить функцию DayNight из...

17
Прыжки через переменную инициализации плохо сформированы или это вызывает неопределенное поведение?

Рассмотрим этот код: void foo() { goto bar; int x = 0; bar: ; } GCC и Clang отклоняют это , потому что переход к bar:обходу инициализации переменной. MSVC вообще не жалуется (кроме случаев, xкогда bar:вызывает предупреждение). Мы можем сделать аналогичную вещь с switch: void foo() { switch (0) {...