Запитання з тегом «default-constructor»

3
Чим "= default" відрізняється від "{}" для конструктора та деструктора за замовчуванням?
Спочатку я розміщував це як питання лише про деструктори, але тепер додаю розгляд конструктора за замовчуванням. Ось оригінальне запитання: Якщо я хочу дати своєму класу деструктор, який є віртуальним, але інакше такий же, як і генерував компілятор, я можу використовувати =default: class Widget { public: virtual ~Widget() = default; }; …

11
Чому конструктор без параметрів за замовчуванням відходить, коли ви створюєте його з параметрами
У C #, C ++ та Java, коли ви створюєте конструктор, що приймає параметри, без параметри за замовчуванням відходить. Я завжди просто приймав цей факт, але тепер почав цікавитись, чому. У чому причина такої поведінки? Це просто "міра безпеки / здогадка", яка говорить: "Якщо ви створили власний конструктор, ви, мабуть …

11
Котлін з JPA: конструктор за пеклами
Як вимагає JPA, @Entityкласи повинні мати конструктор за замовчуванням (не-аргумент) для екземпляру об'єктів під час отримання їх з бази даних. У Kotlin властивості дуже зручно декларувати у первинному конструкторі, як у наступному прикладі: class Person(val name: String, val age: Int) { /* ... */ } Але коли конструктор non-arg оголошується …

3
Умови автоматичного генерування замовчувача / копіювання / переміщення ctor та оператора присвоєння копії / переміщення?
Я хочу оновити свою пам’ять про умови, за яких компілятор, як правило, автоматично генерує конструктор за замовчуванням, конструктор копій та оператор призначення. Я пам’ятаю, були деякі правила, але я не пам’ятаю і також не можу знайти авторитетний ресурс в Інтернеті. Хтось може допомогти?

4
Ініціалізація за замовчуванням std :: array?
std::arrayЧи маю я в C ++ 11 гарантію, що синтаксис std::array<T, N> x;ініціалізує за замовчуванням всі елементи масиву? РЕДАГУВАТИ : якщо ні, чи існує синтаксис, який працюватиме на всіх масивах (включаючи масиви нульового розміру), щоб ініціалізувати всі елементи за значенням за замовчуванням? EDIT : на 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 …

8
Чи завжди ми повинні включати конструктор за замовчуванням до класу?
Мені задало це питання колега, чи завжди ми повинні включати конструктор за замовчуванням у клас? Якщо так, то чому? Якщо ні, чому ні? Приклад public class Foo { Foo() { } Foo(int x, int y) { ... } } Мені також цікаво дізнатись про це від експертів.

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.