Вопросы с тегом «default-constructor»

3
Чем «= default» отличается от «{}» для конструктора и деструктора по умолчанию?
Я первоначально разместил это как вопрос только о деструкторах, но теперь я добавляю рассмотрение конструктора по умолчанию. Вот оригинальный вопрос: Если я хочу дать моему классу деструктор, который является виртуальным, но в остальном такой же, как и тот, который генерирует компилятор, я могу использовать =default: class Widget { public: virtual …

11
Почему конструктор по умолчанию без параметров исчезает при его создании с параметрами
В C #, C ++ и Java, когда вы создаете конструктор, принимающий параметры, стандартный параметр без параметров исчезает. Я всегда только принимал этот факт, но теперь я начал задаваться вопросом, почему. В чем причина такого поведения? Это просто «мера безопасности / догадка», говорящая «Если вы создали собственный конструктор, вы, вероятно …

11
Kotlin с JPA: ад конструктора по умолчанию
Как требует JPA, @Entityклассы должны иметь конструктор по умолчанию (без аргументов) для создания экземпляров объектов при их извлечении из базы данных. В Kotlin свойства очень удобно объявлять в основном конструкторе, как в следующем примере: class Person(val name: String, val age: Int) { /* ... */ } Но когда конструктор без …

3
Условия для автоматического создания оператора по умолчанию / копирования / перемещения и оператора присваивания копирования / перемещения?
Я хочу освежить свою память об условиях, при которых компилятор обычно автоматически генерирует конструктор по умолчанию, конструктор копирования и оператор присваивания. Я припоминаю, что были некоторые правила, но я не помню, а также не могу найти авторитетный ресурс в Интернете. Кто-нибудь может помочь?

5
Инициализация по умолчанию std :: array?
В C ++ 11 std::arrayесть ли у меня гарантия, что синтаксис std::array<T, N> x;инициализирует все элементы массива по умолчанию? РЕДАКТИРОВАТЬ : если нет, существует ли синтаксис, который будет работать со всеми массивами (включая массивы нулевого размера) для инициализации всех элементов их значением по умолчанию? РЕДАКТИРОВАТЬ : в cppreference в описании …

4
Создание экземпляра типа без конструктора по умолчанию в C # с использованием отражения
В качестве примера возьмем следующий класс: class Sometype { int someValue; public Sometype(int someValue) { this.someValue = someValue; } } Затем я хочу создать экземпляр этого типа, используя отражение: Type t = typeof(Sometype); object o = Activator.CreateInstance(t); Обычно это сработает, однако, поскольку SomeTypeне определен конструктор без параметров, вызов вызывает Activator.CreateInstanceисключение …

3
Когда частный конструктор не является частным конструктором?
Допустим, у меня есть тип, и я хочу сделать его конструктор по умолчанию закрытым. Я пишу следующее: class C { C() = default; }; int main() { C c; // error: C::C() is private within this context (g++) // error: calling a private constructor of class 'C' (clang++) // error …

1
Оператор new () ведет себя по-разному, когда оператор delete () удаляется в зависимости от существования конструктора по умолчанию
Создание нового объекта класса C с оператором new () выдает здесь ошибку: class C { public: C() {} virtual ~C() {} void operator delete(void*) = delete; }; int main() { C* c = new C; } с C2280: 'void C::operator delete(void *)': function was explicitly deleted Но когда я заменяю …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.