Результаты поиска по запросу "initialization"

1 ответ

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

м классе у меня есть статический словарь объекта строк, который содержит большое количество элементов (он читает из файла и инициализирует их), я написал статический конструктор для этого, и это занимает несколько секунд, но я хочу сделать это ...

3 ответа

 как в Go, как правило, предпочитают этот термин, в то время как спецификация языка Java использует «значение по умолчанию», так как Java не указывает модуль с именем «unsafe», который требует указания чего-либо о макете объекта. Возможно, «значение по умолчанию» или «начальное значение» было бы лучше, особенно с учетом «нулевого значения» w.r.t. Значения IEEE 754 вызывают вопрос "Какой ноль?"

+ вы можете использовать список инициализаторов для инициализации полей класса до того, как конструктор начнет работать. Например: Foo::Foo(string s, double d, int n) : name(s), weight(d), age(n) { // Empty; already handled! }Мне любопытно, ...

4 ответа

Инициализация статического члена класса. Почему Constexpr?

когда я хочу иметь статический указатель в качестве члена класса мне нужноconstexprдля инициализации сnullptr. class Application { private: constexpr static Application* app = nullptr; }Может кто-нибудь объяснить мне, почему я должен это ...

ТОП публикаций

3 ответа

У вас также должно быть два-три разных метода, чтобы сначала получить размер файла, а затем создать соответствующий метод.

я есть класс «A», который читает файл XML и выполняет некоторую обработку. Я поместил метод «load» в конструктор, но мне интересно, что произойдет, если размер файла XML большой и для его загрузки требуется время. class A { public String ...

3 ответа

В этом случае среда выполнения заранее знала, что arr состоит из объектов «Base», поэтому она установила их vptr так, чтобы они указывали на Base :: Get, как только им было выделено память.

ите за сложное название. У меня есть что-то вроде этого: class Base { public: int SomeMember; Base() : SomeMember(42) {} virtual int Get() { return SomeMember; } }; class ChildA : public Base { public: virtual int Get() { return SomeMember*2; } ...

3 ответа

 для каждого из объектов, которые вы хотите построить. Таким образом, вы можете точно контролировать, когда по одному вызывались конструкторы и деструкторы объектов.

нтересован в созданииuninitialized_vector контейнер, который будет семантически идентиченstd::vector с оговоркой, что новые элементы, которые в противном случае были бы созданы с помощью конструктора без аргументов, будут созданы ...

2 ответа

Независимо от того, какой тип T использует T (), используйте конструктор по умолчанию. Для int, chars и т. Д. Это 0, для массивов - {T ()}. А для классов это просто конструктор по умолчанию.

ачально написал такой код: class Foo { public: Foo() : m_buffer() {} private: char m_buffer[1024]; }; Кто-то, кто умнее меня, сказал, что инициализация m_buffer () обнулит память. Я хотел оставить память неинициализированной. У меня не было ...

2 ответа

Инициализация Const Struct с другими экземплярами Const Struct

Мне любопытно, почему следующий фрагмент кода не компилируется: typedef struct Foo { int a; int b; } Foo; static const Foo FooZero = { 0, 0 }; typedef struct Bar { Foo foo; int c; } Bar; static const Bar BarZero = { FooZero, 0 };Жалуется на ...

3 ответа

setattr с kwargs, питон или нет?

я использую__init__() например, в некоторых классах SQLAlchemy ORM, которые имеют много параметров (до 20). def __init__(self, **kwargs): for k, v in kwargs.iteritems(): setattr(self, k, v)Это «питон», чтобы установить атрибуты, как это?

2 ответа

Почему я не могу полностью опустить измерения при инициализации многомерного массива?

В Visual Studio 2010 эта инициализация работает должным образом: char table[2][2] = { {'a', 'b'}, {'c', 'd'} };Но не кажется законным писать что-то вроде: char table[][] = { {'a', 'b'}, {'c', 'd'} };Visual Studio жалуется, что этот массив может ...